/linux-4.1.27/mm/ |
H A D | mmu_notifier.c | 17 #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 D | traps_32.c | 92 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 D | iommu.c | 160 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 D | assigned-dev.c | 700 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 D | x86.c | 44 #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 D | mmu.c | 36 #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 D | vmx.c | 4047 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 D | fsnotify.h | 6 #include <linux/srcu.h>
|
H A D | group.c | 22 #include <linux/srcu.h>
|
H A D | fsnotify.c | 25 #include <linux/srcu.h>
|
H A D | mark.c | 87 #include <linux/srcu.h>
|
/linux-4.1.27/include/linux/ |
H A D | notifier.h | 15 #include <linux/srcu.h> 75 struct srcu_struct srcu; member in struct:srcu_notifier_head 94 cleanup_srcu_struct(&(name)->srcu);
|
H A D | srcu.h | 102 * define and init a srcu struct at build time.
|
H A D | mmu_notifier.h | 7 #include <linux/srcu.h>
|
H A D | kvm_host.h | 351 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 D | kvm_main.c | 47 #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 D | irqchip.c | 29 #include <linux/srcu.h>
|
H A D | eventfd.c | 34 #include <linux/srcu.h>
|
/linux-4.1.27/arch/powerpc/kvm/ |
H A D | book3s_pr_papr.c | 331 idx = srcu_read_lock(&vcpu->kvm->srcu); kvmppc_h_pr() 333 srcu_read_unlock(&vcpu->kvm->srcu, idx); kvmppc_h_pr()
|
H A D | book3s_64_mmu_hv.c | 27 #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 D | book3s.c | 835 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 D | powerpc.c | 810 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 D | book3s_hv.c | 33 #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 D | e500_mmu.c | 434 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 D | book3s_pr.c | 926 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 D | booke.c | 1254 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 D | notifier.c | 467 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 D | kvm-s390.c | 341 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 D | interrupt.c | 867 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 D | tlb.c | 19 #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 D | opp.c | 89 * 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 D | hifn_795x.c | 411 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 D | mmu.c | 382 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 D | kfd_process.c | 223 * mmu_notifier srcu is read locked kfd_process_notifier_release()
|
/linux-4.1.27/kernel/rcu/ |
H A D | rcutorture.c | 47 #include <linux/srcu.h> 476 * Definitions for srcu torture testing. 569 .name = "srcu"
|
H A D | srcu.c | 37 #include <linux/srcu.h>
|
/linux-4.1.27/drivers/misc/sgi-gru/ |
H A D | grutlbpurge.c | 37 #include <linux/srcu.h>
|