Searched refs:srcu (Results 1 - 37 of 37) sorted by relevance

/linux-4.1.27/mm/
H A Dmmu_notifier.c17 #include <linux/srcu.h>
23 static struct srcu_struct srcu; variable in typeref:struct:srcu_struct
33 call_srcu(&srcu, rcu, func); mmu_notifier_call_srcu()
40 srcu_barrier(&srcu); mmu_notifier_synchronize()
65 id = srcu_read_lock(&srcu); __mmu_notifier_release()
90 srcu_read_unlock(&srcu, id); __mmu_notifier_release()
101 synchronize_srcu(&srcu); __mmu_notifier_release()
116 id = srcu_read_lock(&srcu); __mmu_notifier_clear_flush_young()
121 srcu_read_unlock(&srcu, id); __mmu_notifier_clear_flush_young()
132 id = srcu_read_lock(&srcu); __mmu_notifier_test_young()
140 srcu_read_unlock(&srcu, id); __mmu_notifier_test_young()
151 id = srcu_read_lock(&srcu); __mmu_notifier_change_pte()
156 srcu_read_unlock(&srcu, id); __mmu_notifier_change_pte()
165 id = srcu_read_lock(&srcu); __mmu_notifier_invalidate_page()
170 srcu_read_unlock(&srcu, id); __mmu_notifier_invalidate_page()
179 id = srcu_read_lock(&srcu); __mmu_notifier_invalidate_range_start()
184 srcu_read_unlock(&srcu, id); __mmu_notifier_invalidate_range_start()
194 id = srcu_read_lock(&srcu); __mmu_notifier_invalidate_range_end()
209 srcu_read_unlock(&srcu, id); __mmu_notifier_invalidate_range_end()
219 id = srcu_read_lock(&srcu); __mmu_notifier_invalidate_range()
224 srcu_read_unlock(&srcu, id); __mmu_notifier_invalidate_range()
238 * Verify that mmu_notifier_init() already run and the global srcu is do_mmu_notifier_register()
241 BUG_ON(!srcu.per_cpu_ref); do_mmu_notifier_register()
343 id = srcu_read_lock(&srcu); mmu_notifier_unregister()
350 srcu_read_unlock(&srcu, id); mmu_notifier_unregister()
365 synchronize_srcu(&srcu); mmu_notifier_unregister()
374 * Same as mmu_notifier_unregister but no callback and no srcu synchronization.
394 return init_srcu_struct(&srcu); mmu_notifier_init()
/linux-4.1.27/arch/sh/kernel/
H A Dtraps_32.c92 unsigned char __user *srcu, *dstu; handle_unaligned_ins() local
114 srcu = (unsigned char __user *)*rm; handle_unaligned_ins()
115 srcu += regs->regs[0]; handle_unaligned_ins()
122 if (ma->from(dst, srcu, count)) handle_unaligned_ins()
165 srcu = (unsigned char __user *)*rm; handle_unaligned_ins()
166 srcu += (instruction & 0x000F) << 2; handle_unaligned_ins()
170 if (ma->from(dst, srcu, 4)) handle_unaligned_ins()
176 srcu = (unsigned char __user *)*rm; handle_unaligned_ins()
185 if (ma->from(dst, srcu, count)) handle_unaligned_ins()
207 srcu = (unsigned char __user *)*rm; handle_unaligned_ins()
208 srcu += (instruction & 0x000F) << 1; handle_unaligned_ins()
215 if (ma->from(dst, srcu, 2)) handle_unaligned_ins()
224 srcu = (unsigned char __user *)regs->pc; handle_unaligned_ins()
225 srcu += 4; handle_unaligned_ins()
226 srcu += (instruction & 0x00FF) << 1; handle_unaligned_ins()
234 if (ma->from(dst, srcu, 2)) handle_unaligned_ins()
241 srcu = (unsigned char __user *)(regs->pc & ~0x3); handle_unaligned_ins()
242 srcu += 4; handle_unaligned_ins()
243 srcu += (instruction & 0x00FF) << 2; handle_unaligned_ins()
247 if (ma->from(dst, srcu, 4)) handle_unaligned_ins()
/linux-4.1.27/arch/x86/kvm/
H A Diommu.c160 idx = srcu_read_lock(&kvm->srcu); kvm_iommu_map_memslots()
168 srcu_read_unlock(&kvm->srcu, idx);
325 idx = srcu_read_lock(&kvm->srcu); kvm_iommu_unmap_memslots()
331 srcu_read_unlock(&kvm->srcu, idx); kvm_iommu_unmap_memslots()
H A Dassigned-dev.c700 idx = srcu_read_lock(&kvm->srcu); kvm_vm_ioctl_assign_device()
782 srcu_read_unlock(&kvm->srcu, idx); kvm_vm_ioctl_assign_device()
797 srcu_read_unlock(&kvm->srcu, idx); kvm_vm_ioctl_assign_device()
H A Dx86.c44 #include <linux/srcu.h>
2700 idx = srcu_read_lock(&vcpu->kvm->srcu); __msr_io()
2704 srcu_read_unlock(&vcpu->kvm->srcu, idx); __msr_io()
6327 srcu_read_unlock(&vcpu->kvm->srcu, vcpu->srcu_idx); vcpu_enter_guest()
6342 vcpu->srcu_idx = srcu_read_lock(&vcpu->kvm->srcu); vcpu_enter_guest()
6418 vcpu->srcu_idx = srcu_read_lock(&vcpu->kvm->srcu); vcpu_enter_guest()
6448 srcu_read_unlock(&kvm->srcu, vcpu->srcu_idx); vcpu_block()
6450 vcpu->srcu_idx = srcu_read_lock(&kvm->srcu); vcpu_block()
6478 vcpu->srcu_idx = srcu_read_lock(&kvm->srcu); vcpu_run()
6509 srcu_read_unlock(&kvm->srcu, vcpu->srcu_idx); vcpu_run()
6511 vcpu->srcu_idx = srcu_read_lock(&kvm->srcu); vcpu_run()
6515 srcu_read_unlock(&kvm->srcu, vcpu->srcu_idx); vcpu_run()
6523 vcpu->srcu_idx = srcu_read_lock(&vcpu->kvm->srcu); complete_emulated_io()
6525 srcu_read_unlock(&vcpu->kvm->srcu, vcpu->srcu_idx); complete_emulated_io()
6859 idx = srcu_read_lock(&vcpu->kvm->srcu); kvm_arch_vcpu_ioctl_set_sregs()
6864 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvm_arch_vcpu_ioctl_set_sregs()
6965 idx = srcu_read_lock(&vcpu->kvm->srcu); kvm_arch_vcpu_ioctl_translate()
6967 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvm_arch_vcpu_ioctl_translate()
7404 idx = srcu_read_lock(&vcpu->kvm->srcu); kvm_arch_vcpu_uninit()
7406 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvm_arch_vcpu_uninit()
H A Dmmu.c36 #include <linux/srcu.h>
4742 idx = srcu_read_lock(&kvm->srcu); mmu_shrink_scan()
4757 srcu_read_unlock(&kvm->srcu, idx); mmu_shrink_scan()
H A Dvmx.c4047 idx = srcu_read_lock(&kvm->srcu); init_rmode_tss()
4068 srcu_read_unlock(&kvm->srcu, idx); init_rmode_tss()
4093 idx = srcu_read_lock(&kvm->srcu); init_rmode_identity_map()
4109 srcu_read_unlock(&kvm->srcu, idx); init_rmode_identity_map()
/linux-4.1.27/fs/notify/
H A Dfsnotify.h6 #include <linux/srcu.h>
H A Dgroup.c22 #include <linux/srcu.h>
H A Dfsnotify.c25 #include <linux/srcu.h>
H A Dmark.c87 #include <linux/srcu.h>
/linux-4.1.27/include/linux/
H A Dnotifier.h15 #include <linux/srcu.h>
75 struct srcu_struct srcu; member in struct:srcu_notifier_head
94 cleanup_srcu_struct(&(name)->srcu);
H A Dsrcu.h102 * define and init a srcu struct at build time.
H A Dmmu_notifier.h7 #include <linux/srcu.h>
H A Dkvm_host.h351 struct srcu_struct srcu; member in struct:kvm
479 srcu_read_lock_held(&kvm->srcu) kvm_memslots()
/linux-4.1.27/virt/kvm/
H A Dkvm_main.c47 #include <linux/srcu.h>
286 idx = srcu_read_lock(&kvm->srcu); kvm_mmu_notifier_invalidate_page()
299 srcu_read_unlock(&kvm->srcu, idx); kvm_mmu_notifier_invalidate_page()
310 idx = srcu_read_lock(&kvm->srcu); kvm_mmu_notifier_change_pte()
315 srcu_read_unlock(&kvm->srcu, idx); kvm_mmu_notifier_change_pte()
326 idx = srcu_read_lock(&kvm->srcu); kvm_mmu_notifier_invalidate_range_start()
341 srcu_read_unlock(&kvm->srcu, idx); kvm_mmu_notifier_invalidate_range_start()
378 idx = srcu_read_lock(&kvm->srcu); kvm_mmu_notifier_clear_flush_young()
386 srcu_read_unlock(&kvm->srcu, idx); kvm_mmu_notifier_clear_flush_young()
398 idx = srcu_read_lock(&kvm->srcu); kvm_mmu_notifier_test_young()
402 srcu_read_unlock(&kvm->srcu, idx); kvm_mmu_notifier_test_young()
413 idx = srcu_read_lock(&kvm->srcu); kvm_mmu_notifier_release()
415 srcu_read_unlock(&kvm->srcu, idx); kvm_mmu_notifier_release()
496 if (init_srcu_struct(&kvm->srcu)) kvm_create_vm()
520 cleanup_srcu_struct(&kvm->srcu); kvm_create_vm()
613 cleanup_srcu_struct(&kvm->srcu); kvm_destroy_vm()
742 synchronize_srcu_expedited(&kvm->srcu); install_new_memslots()
3038 bus = srcu_dereference(vcpu->kvm->buses[bus_idx], &vcpu->kvm->srcu); kvm_io_bus_write()
3055 bus = srcu_dereference(vcpu->kvm->buses[bus_idx], &vcpu->kvm->srcu); kvm_io_bus_write_cookie()
3105 bus = srcu_dereference(vcpu->kvm->buses[bus_idx], &vcpu->kvm->srcu); kvm_io_bus_read()
3130 synchronize_srcu_expedited(&kvm->srcu); kvm_io_bus_register_dev()
3165 synchronize_srcu_expedited(&kvm->srcu); kvm_io_bus_unregister_dev()
H A Dirqchip.c29 #include <linux/srcu.h>
H A Deventfd.c34 #include <linux/srcu.h>
/linux-4.1.27/arch/powerpc/kvm/
H A Dbook3s_pr_papr.c331 idx = srcu_read_lock(&vcpu->kvm->srcu); kvmppc_h_pr()
333 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvmppc_h_pr()
H A Dbook3s_64_mmu_hv.c27 #include <linux/srcu.h>
652 srcu_idx = srcu_read_lock(&kvm->srcu); kvmppc_rmap_reset()
662 srcu_read_unlock(&kvm->srcu, srcu_idx);
1065 srcu_idx = srcu_read_lock(&kvm->srcu); kvmppc_pin_guest_page()
1074 srcu_read_unlock(&kvm->srcu, srcu_idx); kvmppc_pin_guest_page()
1082 srcu_read_unlock(&kvm->srcu, srcu_idx); kvmppc_pin_guest_page()
1102 srcu_idx = srcu_read_lock(&kvm->srcu); kvmppc_unpin_guest_page()
1110 srcu_read_unlock(&kvm->srcu, srcu_idx); kvmppc_unpin_guest_page()
1485 synchronize_srcu_expedited(&kvm->srcu); kvm_vm_ioctl_get_htab_fd()
H A Dbook3s.c835 srcu_idx = srcu_read_lock(&vcpu->kvm->srcu); kvmppc_h_logical_ci_load()
837 srcu_read_unlock(&vcpu->kvm->srcu, srcu_idx); kvmppc_h_logical_ci_load()
896 srcu_idx = srcu_read_lock(&vcpu->kvm->srcu); kvmppc_h_logical_ci_store()
898 srcu_read_unlock(&vcpu->kvm->srcu, srcu_idx); kvmppc_h_logical_ci_store()
H A Dpowerpc.c810 idx = srcu_read_lock(&vcpu->kvm->srcu); kvmppc_handle_load()
815 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvmppc_handle_load()
882 idx = srcu_read_lock(&vcpu->kvm->srcu); kvmppc_handle_store()
887 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvmppc_handle_store()
H A Dbook3s_hv.c33 #include <linux/srcu.h>
724 idx = srcu_read_lock(&vcpu->kvm->srcu); kvmppc_pseries_do_hcall()
726 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvmppc_pseries_do_hcall()
2021 srcu_idx = srcu_read_lock(&vc->kvm->srcu); kvmppc_run_core()
2044 srcu_read_unlock(&vc->kvm->srcu, srcu_idx); kvmppc_run_core()
2271 srcu_idx = srcu_read_lock(&vcpu->kvm->srcu); kvmppc_vcpu_run_hv()
2274 srcu_read_unlock(&vcpu->kvm->srcu, srcu_idx); kvmppc_vcpu_run_hv()
2463 srcu_idx = srcu_read_lock(&kvm->srcu); kvmppc_hv_setup_htab_rma()
2506 srcu_read_unlock(&kvm->srcu, srcu_idx); kvmppc_hv_setup_htab_rma()
H A De500_mmu.c434 idx = srcu_read_lock(&vcpu->kvm->srcu); kvmppc_e500_emul_tlbwe()
450 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvmppc_e500_emul_tlbwe()
H A Dbook3s_pr.c926 int idx = srcu_read_lock(&vcpu->kvm->srcu); kvmppc_handle_exit_pr()
928 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvmppc_handle_exit_pr()
978 int idx = srcu_read_lock(&vcpu->kvm->srcu); kvmppc_handle_exit_pr()
980 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvmppc_handle_exit_pr()
H A Dbooke.c1254 idx = srcu_read_lock(&vcpu->kvm->srcu); kvmppc_handle_exit()
1278 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvmppc_handle_exit()
1302 idx = srcu_read_lock(&vcpu->kvm->srcu); kvmppc_handle_exit()
1320 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvmppc_handle_exit()
/linux-4.1.27/kernel/
H A Dnotifier.c467 synchronize_srcu(&nh->srcu); srcu_notifier_chain_unregister()
497 idx = srcu_read_lock(&nh->srcu); __srcu_notifier_call_chain()
499 srcu_read_unlock(&nh->srcu, idx); __srcu_notifier_call_chain()
513 * @nh: Pointer to head of the srcu notifier chain
526 if (init_srcu_struct(&nh->srcu) < 0) srcu_init_notifier_head()
/linux-4.1.27/arch/s390/kvm/
H A Dkvm-s390.c341 idx = srcu_read_lock(&kvm->srcu); kvm_s390_set_mem_control()
343 srcu_read_unlock(&kvm->srcu, idx); kvm_s390_set_mem_control()
1987 * We try to hold kvm->srcu during most of vcpu_run (except when run- __vcpu_run()
1990 vcpu->srcu_idx = srcu_read_lock(&vcpu->kvm->srcu); __vcpu_run()
1997 srcu_read_unlock(&vcpu->kvm->srcu, vcpu->srcu_idx); __vcpu_run()
2008 vcpu->srcu_idx = srcu_read_lock(&vcpu->kvm->srcu); __vcpu_run()
2013 srcu_read_unlock(&vcpu->kvm->srcu, vcpu->srcu_idx); __vcpu_run()
2357 srcu_idx = srcu_read_lock(&vcpu->kvm->srcu); kvm_s390_guest_mem_op()
2386 srcu_read_unlock(&vcpu->kvm->srcu, srcu_idx); kvm_s390_guest_mem_op()
2426 idx = srcu_read_lock(&vcpu->kvm->srcu); kvm_arch_vcpu_ioctl()
2428 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvm_arch_vcpu_ioctl()
H A Dinterrupt.c867 srcu_read_unlock(&vcpu->kvm->srcu, vcpu->srcu_idx); kvm_s390_handle_wait()
870 vcpu->srcu_idx = srcu_read_lock(&vcpu->kvm->srcu); kvm_s390_handle_wait()
1972 synchronize_srcu(&dev->kvm->srcu); flic_set_attr()
2053 idx = srcu_read_lock(&kvm->srcu); adapter_indicators_set()
2058 srcu_read_unlock(&kvm->srcu, idx); adapter_indicators_set()
2067 srcu_read_unlock(&kvm->srcu, idx); adapter_indicators_set()
/linux-4.1.27/arch/mips/kvm/
H A Dtlb.c19 #include <linux/srcu.h>
152 srcu_idx = srcu_read_lock(&kvm->srcu); kvm_mips_map_page()
163 srcu_read_unlock(&kvm->srcu, srcu_idx); kvm_mips_map_page()
/linux-4.1.27/drivers/base/power/
H A Dopp.c89 * Because the opp structures can be used from both rcu and srcu readers, we
614 call_srcu(&dev_opp->srcu_head.srcu, &opp->rcu_head, _kfree_opp_rcu); _opp_remove()
618 call_srcu(&dev_opp->srcu_head.srcu, &dev_opp->rcu_head, _opp_remove()
732 call_srcu(&dev_opp->srcu_head.srcu, &opp->rcu_head, _kfree_opp_rcu); _opp_set_availability()
/linux-4.1.27/drivers/crypto/
H A Dhifn_795x.c411 volatile int cmdu, srcu, dstu, resu; member in struct:hifn_dma
955 dma->cmdu = dma->srcu = dma->dstu = dma->resu = 0; hifn_init_dma()
1306 dma->srcu++; hifn_setup_src_desc()
1824 dma->cmdu, dma->srcu, dma->dstu, dma->resu, hifn_clear_rings()
1845 i = dma->srck; u = dma->srcu; hifn_clear_rings()
1853 dma->srck = i; dma->srcu = u; hifn_clear_rings()
1879 dma->cmdu, dma->srcu, dma->dstu, dma->resu, hifn_clear_rings()
1899 if (dma->srcu == 0 && (dev->flags & HIFN_FLAG_SRC_BUSY)) { hifn_work()
1966 dma->cmdu, dma->srcu, dma->dstu, dma->resu); hifn_interrupt()
/linux-4.1.27/arch/arm/kvm/
H A Dmmu.c382 idx = srcu_read_lock(&kvm->srcu); stage2_flush_vm()
390 srcu_read_unlock(&kvm->srcu, idx); stage2_flush_vm()
798 idx = srcu_read_lock(&kvm->srcu); stage2_unmap_vm()
806 srcu_read_unlock(&kvm->srcu, idx); stage2_unmap_vm()
1423 idx = srcu_read_lock(&vcpu->kvm->srcu); kvm_handle_guest_abort()
1461 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvm_handle_guest_abort()
/linux-4.1.27/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_process.c223 * mmu_notifier srcu is read locked kfd_process_notifier_release()
/linux-4.1.27/kernel/rcu/
H A Drcutorture.c47 #include <linux/srcu.h>
476 * Definitions for srcu torture testing.
569 .name = "srcu"
H A Dsrcu.c37 #include <linux/srcu.h>
/linux-4.1.27/drivers/misc/sgi-gru/
H A Dgrutlbpurge.c37 #include <linux/srcu.h>

Completed in 1952 milliseconds