Home
last modified time | relevance | path

Searched refs:srcu (Results 1 – 25 of 75) sorted by relevance

123

/linux-6.6.21/tools/memory-model/
Dlinux-kernel.bell35 'after-srcu-read-unlock (*smp_mb__after_srcu_read_unlock*)
39 enum SRCU = 'srcu-lock || 'srcu-unlock || 'sync-srcu
41 (* All srcu events *)
42 let Srcu = Srcu-lock | Srcu-unlock | Sync-srcu
61 let carry-srcu-data = (data ; [~ Srcu-unlock] ; rf)*
62 let srcu-rscs = ([Srcu-lock] ; carry-srcu-data ; data ; [Srcu-unlock]) & loc
65 flag ~empty Srcu-lock \ domain(srcu-rscs) as unmatched-srcu-lock
66 flag ~empty Srcu-unlock \ range(srcu-rscs) as unmatched-srcu-unlock
67 flag ~empty (srcu-rscs^-1 ; srcu-rscs) \ id as multiple-srcu-matches
70 flag ~empty rcu-rscs & (po ; [Sync-srcu] ; po) as invalid-sleep
[all …]
Dlinux-kernel.cat53 ([M] ; po? ; [Srcu-unlock] ; fencerel(After-srcu-read-unlock) ; [M])
54 let gp = po ; [Sync-rcu | Sync-srcu] ; po?
59 let barrier = fencerel(Barrier | Rmb | Wmb | Mb | Sync-rcu | Sync-srcu |
125 let srcu-gp = [Sync-srcu]
127 let srcu-rscsi = srcu-rscs^-1
144 let rec rcu-order = rcu-gp | srcu-gp |
146 ((srcu-gp ; rcu-link ; srcu-rscsi) & loc) |
148 ((srcu-rscsi ; rcu-link ; srcu-gp) & loc) |
150 ((srcu-gp ; rcu-link ; rcu-order ; rcu-link ; srcu-rscsi) & loc) |
152 ((srcu-rscsi ; rcu-link ; rcu-order ; rcu-link ; srcu-gp) & loc) |
Dlinux-kernel.def27 smp_mb__after_srcu_read_unlock() { __fence{after-srcu-read-unlock}; }
53 srcu_read_lock(X) __load{srcu-lock}(*X)
54 srcu_read_unlock(X,Y) { __store{srcu-unlock}(*X,Y); }
55 srcu_down_read(X) __load{srcu-lock}(*X)
56 srcu_up_read(X,Y) { __store{srcu-unlock}(*X,Y); }
57 synchronize_srcu(X) { __srcu{sync-srcu}(X); }
58 synchronize_srcu_expedited(X) { __srcu{sync-srcu}(X); }
/linux-6.6.21/mm/
Dmmu_notifier.c23 DEFINE_STATIC_SRCU(srcu);
309 id = srcu_read_lock(&srcu); in mn_hlist_release()
311 srcu_read_lock_held(&srcu)) in mn_hlist_release()
334 srcu_read_unlock(&srcu, id); in mn_hlist_release()
345 synchronize_srcu(&srcu); in mn_hlist_release()
372 id = srcu_read_lock(&srcu); in __mmu_notifier_clear_flush_young()
375 srcu_read_lock_held(&srcu)) { in __mmu_notifier_clear_flush_young()
380 srcu_read_unlock(&srcu, id); in __mmu_notifier_clear_flush_young()
392 id = srcu_read_lock(&srcu); in __mmu_notifier_clear_young()
395 srcu_read_lock_held(&srcu)) { in __mmu_notifier_clear_young()
[all …]
/linux-6.6.21/arch/sh/kernel/
Dtraps_32.c108 unsigned char __user *srcu, *dstu; in handle_unaligned_ins() local
130 srcu = (unsigned char __user *)*rm; in handle_unaligned_ins()
131 srcu += regs->regs[0]; in handle_unaligned_ins()
138 if (ma->from(dst, srcu, count)) in handle_unaligned_ins()
181 srcu = (unsigned char __user *)*rm; in handle_unaligned_ins()
182 srcu += (instruction & 0x000F) << 2; in handle_unaligned_ins()
186 if (ma->from(dst, srcu, 4)) in handle_unaligned_ins()
192 srcu = (unsigned char __user *)*rm; in handle_unaligned_ins()
201 if (ma->from(dst, srcu, count)) in handle_unaligned_ins()
223 srcu = (unsigned char __user *)*rm; in handle_unaligned_ins()
[all …]
/linux-6.6.21/arch/x86/kvm/mmu/
Dpage_track.c83 srcu_read_lock_held(&kvm->srcu)); in __kvm_write_track_add_gfn()
106 srcu_read_lock_held(&kvm->srcu)); in __kvm_write_track_remove_gfn()
260 idx = srcu_read_lock(&kvm->srcu); in kvm_write_track_add_gfn()
264 srcu_read_unlock(&kvm->srcu, idx); in kvm_write_track_add_gfn()
272 srcu_read_unlock(&kvm->srcu, idx); in kvm_write_track_add_gfn()
290 idx = srcu_read_lock(&kvm->srcu); in kvm_write_track_remove_gfn()
294 srcu_read_unlock(&kvm->srcu, idx); in kvm_write_track_remove_gfn()
302 srcu_read_unlock(&kvm->srcu, idx); in kvm_write_track_remove_gfn()
/linux-6.6.21/drivers/net/wireless/microchip/wilc1000/
Dnetdev.c134 srcu_idx = srcu_read_lock(&wilc->srcu); in wilc_wlan_get_num_conn_ifcs()
139 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_wlan_get_num_conn_ifcs()
166 srcu_idx = srcu_read_lock(&wl->srcu); in wilc_txq_task()
172 srcu_read_unlock(&wl->srcu, srcu_idx); in wilc_txq_task()
655 srcu_idx = srcu_read_lock(&wilc->srcu); in wilc_set_mac_addr()
660 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_set_mac_addr()
663 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_set_mac_addr()
667 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_set_mac_addr()
758 srcu_idx = srcu_read_lock(&wilc->srcu); in wilc_mac_xmit()
763 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_mac_xmit()
[all …]
Dcfg80211.c244 srcu_idx = srcu_read_lock(&wl->srcu); in set_channel()
247 srcu_read_unlock(&wl->srcu, srcu_idx); in set_channel()
258 srcu_read_unlock(&wl->srcu, srcu_idx); in set_channel()
815 srcu_idx = srcu_read_lock(&wl->srcu); in set_wiphy_params()
870 srcu_read_unlock(&wl->srcu, srcu_idx); in set_wiphy_params()
1550 srcu_idx = srcu_read_lock(&wl->srcu); in add_virtual_intf()
1555 srcu_read_unlock(&wl->srcu, srcu_idx); in add_virtual_intf()
1561 srcu_read_unlock(&wl->srcu, srcu_idx); in add_virtual_intf()
1569 srcu_read_unlock(&wl->srcu, srcu_idx); in add_virtual_intf()
1574 srcu_read_unlock(&wl->srcu, srcu_idx); in add_virtual_intf()
[all …]
/linux-6.6.21/arch/arm64/kvm/
Dpvtime.c25 idx = srcu_read_lock(&kvm->srcu); in kvm_update_stolen_time()
32 srcu_read_unlock(&kvm->srcu, idx); in kvm_update_stolen_time()
96 idx = srcu_read_lock(&kvm->srcu); in kvm_arm_pvtime_set_attr()
99 srcu_read_unlock(&kvm->srcu, idx); in kvm_arm_pvtime_set_attr()
/linux-6.6.21/include/linux/
Dnotifier.h77 struct srcu_struct srcu; member
96 cleanup_srcu_struct(&(name)->srcu);
112 .srcu = __SRCU_STRUCT_INIT(name.srcu, name.srcuu, pcpu), \
/linux-6.6.21/arch/arm64/include/asm/
Dkvm_mmu.h257 int srcu_idx = srcu_read_lock(&kvm->srcu); in kvm_read_guest_lock()
260 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvm_read_guest_lock()
268 int srcu_idx = srcu_read_lock(&kvm->srcu); in kvm_write_guest_lock()
271 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvm_write_guest_lock()
/linux-6.6.21/arch/powerpc/kvm/
Dbook3s_hv_uvmem.c485 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_h_svm_init_start()
504 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_h_svm_init_start()
674 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_h_svm_init_abort()
679 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_h_svm_init_abort()
841 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_h_svm_init_done()
864 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_h_svm_init_done()
889 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_share_page()
926 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_share_page()
959 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_h_svm_page_in()
986 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_h_svm_page_in()
[all …]
Dbook3s_64_mmu_hv.c447 idx = srcu_read_lock(&vcpu->kvm->srcu); in kvmppc_hv_emulate_mmio()
450 srcu_read_unlock(&vcpu->kvm->srcu, idx); in kvmppc_hv_emulate_mmio()
762 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_rmap_reset()
775 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_rmap_reset()
1166 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_pin_guest_page()
1175 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_pin_guest_page()
1183 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_pin_guest_page()
1202 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_unpin_guest_page()
1206 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_unpin_guest_page()
1277 int srcu_idx = srcu_read_lock(&kvm->srcu); in resize_hpt_rehash_hpte()
[all …]
/linux-6.6.21/drivers/gpu/drm/i915/gt/
Dintel_reset.h41 int __must_check intel_gt_reset_trylock(struct intel_gt *gt, int *srcu);
42 int __must_check intel_gt_reset_lock_interruptible(struct intel_gt *gt, int *srcu);
/linux-6.6.21/arch/x86/kernel/cpu/sgx/
Dencl.c759 cleanup_srcu_struct(&encl->srcu); in sgx_encl_release()
795 synchronize_srcu(&encl_mm->encl->srcu); in sgx_mmu_notifier_release()
822 idx = srcu_read_lock(&encl->srcu); in sgx_encl_find_mm()
831 srcu_read_unlock(&encl->srcu, idx); in sgx_encl_find_mm()
933 idx = srcu_read_lock(&encl->srcu); in sgx_encl_cpumask()
944 srcu_read_unlock(&encl->srcu, idx); in sgx_encl_cpumask()
1018 idx = srcu_read_lock(&encl->srcu); in sgx_encl_get_mem_cgroup()
1031 srcu_read_unlock(&encl->srcu, idx); in sgx_encl_get_mem_cgroup()
1212 idx = srcu_read_lock(&encl->srcu); in sgx_zap_enclave_ptes()
1229 srcu_read_unlock(&encl->srcu, idx); in sgx_zap_enclave_ptes()
Ddriver.c33 ret = init_srcu_struct(&encl->srcu); in sgx_open()
72 synchronize_srcu(&encl->srcu); in sgx_release()
/linux-6.6.21/drivers/nvme/host/
Dmultipath.c212 srcu_idx = srcu_read_lock(&head->srcu); in nvme_mpath_revalidate_paths()
217 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_mpath_revalidate_paths()
343 ns = srcu_dereference(head->current_path[node], &head->srcu); in nvme_find_path()
390 srcu_idx = srcu_read_lock(&head->srcu); in nvme_ns_head_submit_bio()
410 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_ns_head_submit_bio()
433 srcu_idx = srcu_read_lock(&head->srcu); in nvme_ns_head_report_zones()
437 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_ns_head_report_zones()
594 srcu_idx = srcu_read_lock(&head->srcu); in nvme_mpath_set_live()
597 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_mpath_set_live()
601 synchronize_srcu(&head->srcu); in nvme_mpath_set_live()
Dioctl.c805 __releases(&head->srcu) in nvme_ns_head_ctrl_ioctl()
811 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_ns_head_ctrl_ioctl()
831 srcu_idx = srcu_read_lock(&head->srcu); in nvme_ns_head_ioctl()
847 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_ns_head_ioctl()
862 srcu_idx = srcu_read_lock(&head->srcu); in nvme_ns_head_chr_ioctl()
873 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_ns_head_chr_ioctl()
882 int srcu_idx = srcu_read_lock(&head->srcu); in nvme_ns_head_chr_uring_cmd()
888 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_ns_head_chr_uring_cmd()
/linux-6.6.21/Documentation/virt/kvm/
Dlocking.rst29 - ``synchronize_srcu(&kvm->srcu)`` is called inside critical sections
31 be taken inside a kvm->srcu read-side critical section; that is, the
34 srcu_read_lock(&kvm->srcu);
39 kvm->srcu read-side critical section, for example while processing
259 ``kvm->srcu``
261 :Type: srcu lock
265 :Comment: The srcu read lock must be held while accessing memslots (e.g.
268 The srcu index can be stored in kvm_vcpu->srcu_idx per vcpu
276 in a ``kvm->srcu`` read-side critical section.
/linux-6.6.21/kernel/
Dnotifier.c526 synchronize_srcu(&nh->srcu); in srcu_notifier_chain_unregister()
553 idx = srcu_read_lock(&nh->srcu); in srcu_notifier_call_chain()
555 srcu_read_unlock(&nh->srcu, idx); in srcu_notifier_call_chain()
575 if (init_srcu_struct(&nh->srcu) < 0) in srcu_init_notifier_head()
/linux-6.6.21/tools/testing/selftests/rcutorture/configs/rcu/
DSRCU-T.boot1 rcutorture.torture_type=srcu
DSRCU-N.boot1 rcutorture.torture_type=srcu
/linux-6.6.21/drivers/pci/controller/
Dvmd.c120 struct srcu_struct srcu; member
291 synchronize_srcu(&vmdirq->irq->srcu); in vmd_msi_free()
682 idx = srcu_read_lock(&irqs->srcu); in vmd_irq()
685 srcu_read_unlock(&irqs->srcu, idx); in vmd_irq()
710 err = init_srcu_struct(&vmd->irqs[i].srcu); in vmd_alloc_irqs()
1038 cleanup_srcu_struct(&vmd->irqs[i].srcu); in vmd_cleanup_srcu()
/linux-6.6.21/arch/s390/kvm/
Dpci.c251 idx = srcu_read_lock(&kvm->srcu); in kvm_s390_pci_aif_enable()
254 srcu_read_unlock(&kvm->srcu, idx); in kvm_s390_pci_aif_enable()
266 idx = srcu_read_lock(&kvm->srcu); in kvm_s390_pci_aif_enable()
270 srcu_read_unlock(&kvm->srcu, idx); in kvm_s390_pci_aif_enable()
/linux-6.6.21/arch/x86/kvm/
Dxen.c46 int idx = srcu_read_lock(&kvm->srcu); in kvm_xen_shared_info_init()
112 srcu_read_unlock(&kvm->srcu, idx); in kvm_xen_shared_info_init()
719 idx = srcu_read_lock(&vcpu->kvm->srcu); in kvm_xen_vcpu_set_attr()
945 srcu_read_unlock(&vcpu->kvm->srcu, idx); in kvm_xen_vcpu_set_attr()
1177 idx = srcu_read_lock(&kvm->srcu); in wait_pending_event()
1200 srcu_read_unlock(&kvm->srcu, idx); in wait_pending_event()
1580 idx = srcu_read_lock(&kvm->srcu); in kvm_xen_set_evtchn_fast()
1651 srcu_read_unlock(&kvm->srcu, idx); in kvm_xen_set_evtchn_fast()
1706 idx = srcu_read_lock(&kvm->srcu); in kvm_xen_set_evtchn()
1708 srcu_read_unlock(&kvm->srcu, idx); in kvm_xen_set_evtchn()
[all …]

123