Home
last modified time | relevance | path

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

1234

/linux/tools/memory-model/ !
H A Dlinux-kernel.bell36 'after-srcu-read-unlock (*smp_mb__after_srcu_read_unlock*)
51 enum SRCU = 'srcu-lock || 'srcu-unlock || 'sync-srcu
53 (* All srcu events *)
54 let Srcu = Srcu-lock | Srcu-unlock | Sync-srcu
73 let carry-srcu-data = (data ; [~ Srcu-unlock] ; rf)*
74 let srcu-rscs = ([Srcu-lock] ; carry-srcu-data ; data ; [Srcu-unlock]) & loc
77 flag ~empty Srcu-lock \ domain(srcu
[all...]
H A Dlinux-kernel.cat63 ([M] ; po? ; [Srcu-unlock] ; fencerel(After-srcu-read-unlock) ; [M])
64 let gp = po ; [Sync-rcu | Sync-srcu] ; po?
69 let barrier = fencerel(Barrier | Rmb | Wmb | Mb | Sync-rcu | Sync-srcu |
135 let srcu-gp = [Sync-srcu]
137 let srcu-rscsi = srcu-rscs^-1
154 let rec rcu-order = rcu-gp | srcu-gp |
156 ((srcu-gp ; rcu-link ; srcu
[all...]
H A 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/mm/ !
H A Dmmu_notifier.c16 #include <linux/srcu.h>
25 DEFINE_STATIC_SRCU(srcu);
311 id = srcu_read_lock(&srcu); in mn_hlist_release()
313 srcu_read_lock_held(&srcu)) in mn_hlist_release()
336 srcu_read_unlock(&srcu, id); in mn_hlist_release()
347 synchronize_srcu(&srcu); in mn_hlist_release()
374 id = srcu_read_lock(&srcu); in __mmu_notifier_clear_flush_young()
377 srcu_read_lock_held(&srcu)) { in __mmu_notifier_clear_flush_young()
382 srcu_read_unlock(&srcu, id); in __mmu_notifier_clear_flush_young()
394 id = srcu_read_lock(&srcu); in __mmu_notifier_clear_young()
[all...]
/linux/arch/sh/kernel/ !
H A Dtraps_32.c109 unsigned char __user *srcu, *dstu; in handle_unaligned_ins() local
131 srcu = (unsigned char __user *)*rm; in handle_unaligned_ins()
132 srcu += regs->regs[0]; in handle_unaligned_ins()
139 if (ma->from(dst, srcu, count)) in handle_unaligned_ins()
182 srcu = (unsigned char __user *)*rm; in handle_unaligned_ins()
183 srcu += (instruction & 0x000F) << 2; in handle_unaligned_ins()
187 if (ma->from(dst, srcu, 4)) in handle_unaligned_ins()
193 srcu = (unsigned char __user *)*rm; in handle_unaligned_ins()
202 if (ma->from(dst, srcu, count)) in handle_unaligned_ins()
224 srcu in handle_unaligned_ins()
[all...]
/linux/fs/bcachefs/ !
H A Drcu_pending.c8 #include <linux/srcu.h>
175 if (i->head && __poll_state_synchronize_rcu(p->parent->srcu, i->seq)) in merge_expired_lists()
196 __poll_state_synchronize_rcu(pending->srcu, p->objs.data[0].seq)) { in __process_finished_items()
287 if ((p->objs.nr && __poll_state_synchronize_rcu(pending->srcu, p->objs.data[0].seq)) || in process_finished_items()
288 (p->lists[0].head && __poll_state_synchronize_rcu(pending->srcu, p->lists[0].seq)) || in process_finished_items()
289 (p->lists[1].head && __poll_state_synchronize_rcu(pending->srcu, p->lists[1].seq)) || in process_finished_items()
322 __call_rcu(p->parent->srcu, &p->cb, rcu_pending_rcu_cb); in rcu_pending_rcu_cb()
364 if (unlikely(__poll_state_synchronize_rcu(p->parent->srcu, seq))) { in rcu_pending_enqueue_list()
436 rcu_gp_poll_state_t seq = __get_state_synchronize_rcu(pending->srcu); in __rcu_pending_enqueue()
498 __call_rcu(pending->srcu, in __rcu_pending_enqueue()
645 rcu_pending_init(struct rcu_pending * pending,struct srcu_struct * srcu,rcu_pending_process_fn process) rcu_pending_init() argument
[all...]
H A Drcu_pending.h14 struct srcu_struct *srcu; member
24 struct srcu_struct *srcu,
/linux/drivers/gpio/ !
H A Dgpiolib.h20 #include <linux/srcu.h>
54 * @srcu: protects the pointer to the underlying GPIO chip
81 struct srcu_struct srcu; member
231 srcu_read_unlock(&_T.gdev->srcu, _T.idx),
236 _guard.idx = srcu_read_lock(&_guard.gdev->srcu);
238 &_guard.gdev->srcu);
288 scoped_guard(srcu, &desc->gdev->desc_srcu) { \
296 scoped_guard(srcu, &desc->gdev->desc_srcu) { \
304 scoped_guard(srcu, &desc->gdev->desc_srcu) { \
H A Dgpiolib.c27 #include <linux/srcu.h>
176 scoped_guard(srcu, &gpio_devices_srcu) { in gpio_to_desc()
408 lockdep_assert_held(&gc->gpiodev->srcu); in gpiochip_get_direction()
544 guard(srcu)(&gpio_devices_srcu); in gpio_name_to_desc()
548 guard(srcu)(&gdev->srcu); in gpio_name_to_desc()
550 gc = srcu_dereference(gdev->chip, &gdev->srcu); in gpio_name_to_desc()
864 cleanup_srcu_struct(&gdev->srcu); in gpiodev_release()
952 guard(srcu)(&gpio_devices_srcu); in gpiochip_setup_devs()
1136 ret = init_srcu_struct(&gdev->srcu); in gpiochip_add_data_with_key()
[all...]
/linux/arch/x86/kvm/mmu/ !
H A Dpage_track.c96 srcu_read_lock_held(&kvm->srcu)); in __kvm_write_track_add_gfn()
119 srcu_read_lock_held(&kvm->srcu)); in __kvm_write_track_remove_gfn()
327 idx = srcu_read_lock(&kvm->srcu); in kvm_write_track_add_gfn()
331 srcu_read_unlock(&kvm->srcu, idx); in kvm_write_track_add_gfn()
339 srcu_read_unlock(&kvm->srcu, idx); in kvm_write_track_add_gfn()
357 idx = srcu_read_lock(&kvm->srcu); in kvm_write_track_remove_gfn()
361 srcu_read_unlock(&kvm->srcu, idx); in kvm_write_track_remove_gfn()
369 srcu_read_unlock(&kvm->srcu, idx); in kvm_write_track_remove_gfn()
/linux/drivers/net/wireless/microchip/wilc1000/ !
H A Dnetdev.c140 srcu_idx = srcu_read_lock(&wilc->srcu); in wilc_wlan_get_num_conn_ifcs()
145 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_wlan_get_num_conn_ifcs()
154 srcu_idx = srcu_read_lock(&wl->srcu); in wilc_wake_tx_queues()
159 srcu_read_unlock(&wl->srcu, srcu_idx); in wilc_wake_tx_queues()
673 srcu_idx = srcu_read_lock(&wilc->srcu); in wilc_set_mac_addr()
678 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_set_mac_addr()
681 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_set_mac_addr()
685 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_set_mac_addr()
776 srcu_idx = srcu_read_lock(&wilc->srcu); in wilc_mac_xmit()
781 srcu_read_unlock(&wilc->srcu, srcu_id in wilc_mac_xmit()
[all...]
H A Dcfg80211.c243 srcu_idx = srcu_read_lock(&wl->srcu); in set_channel()
246 srcu_read_unlock(&wl->srcu, srcu_idx); in set_channel()
257 srcu_read_unlock(&wl->srcu, srcu_idx); in set_channel()
812 srcu_idx = srcu_read_lock(&wl->srcu); in set_wiphy_params()
867 srcu_read_unlock(&wl->srcu, srcu_idx); in set_wiphy_params()
1545 srcu_idx = srcu_read_lock(&wl->srcu); in add_virtual_intf()
1550 srcu_read_unlock(&wl->srcu, srcu_idx); in add_virtual_intf()
1556 srcu_read_unlock(&wl->srcu, srcu_idx); in add_virtual_intf()
1564 srcu_read_unlock(&wl->srcu, srcu_idx); in add_virtual_intf()
1569 srcu_read_unlock(&wl->srcu, srcu_id in add_virtual_intf()
[all...]
/linux/arch/arm64/kvm/ !
H A 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/drivers/hid/bpf/ !
H A Dhid_bpf_dispatch.c105 idx = srcu_read_lock(&hdev->bpf.srcu); in dispatch_hid_bpf_raw_requests()
107 srcu_read_lock_held(&hdev->bpf.srcu)) { in dispatch_hid_bpf_raw_requests()
118 srcu_read_unlock(&hdev->bpf.srcu, idx); in dispatch_hid_bpf_raw_requests()
142 idx = srcu_read_lock(&hdev->bpf.srcu); in dispatch_hid_bpf_output_report()
144 srcu_read_lock_held(&hdev->bpf.srcu)) { in dispatch_hid_bpf_output_report()
155 srcu_read_unlock(&hdev->bpf.srcu, idx); in dispatch_hid_bpf_output_report()
641 synchronize_srcu(&hdev->bpf.srcu); in hid_bpf_destroy_device()
642 cleanup_srcu_struct(&hdev->bpf.srcu); in hid_bpf_destroy_device()
650 return init_srcu_struct(&hdev->bpf.srcu); in hid_bpf_device_init()
/linux/arch/powerpc/kvm/ !
H A Dbook3s_hv_uvmem.c49 * 1. kvm->srcu - Protects KVM memslots
485 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()
888 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_share_page()
925 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_share_page()
958 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_h_svm_page_in()
[all...]
/linux/tools/memory-model/Documentation/ !
H A Dherd-representation.txt59 | srcu_read_lock | R[srcu-lock] |
61 | srcu_read_unlock | W[srcu-unlock] |
63 | synchronize_srcu | SRCU[sync-srcu] |
64 | smp_mb__after_srcu_read_unlock | F[after-srcu-read-unlock] |
/linux/arch/arm64/include/asm/ !
H A Dkvm_mmu.h270 * We are not in the kvm->srcu critical section most of the time, so we take
277 int srcu_idx = srcu_read_lock(&kvm->srcu); in kvm_read_guest_lock()
280 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvm_read_guest_lock()
288 int srcu_idx = srcu_read_lock(&kvm->srcu); in kvm_write_guest_lock()
291 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvm_write_guest_lock()
/linux/drivers/gpu/drm/i915/gt/ !
H A Dintel_reset.h11 #include <linux/srcu.h>
43 int __must_check intel_gt_reset_trylock(struct intel_gt *gt, int *srcu);
44 int __must_check intel_gt_reset_lock_interruptible(struct intel_gt *gt, int *srcu);
/linux/drivers/nvme/host/ !
H A Dioctl.c692 __releases(&head->srcu) in nvme_ns_head_ctrl_ioctl()
698 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_ns_head_ctrl_ioctl()
718 srcu_idx = srcu_read_lock(&head->srcu); in nvme_ns_head_ioctl()
734 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_ns_head_ioctl()
749 srcu_idx = srcu_read_lock(&head->srcu); in nvme_ns_head_chr_ioctl()
760 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_ns_head_chr_ioctl()
769 int srcu_idx = srcu_read_lock(&head->srcu); in nvme_ns_head_chr_uring_cmd()
775 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_ns_head_chr_uring_cmd()
813 srcu_idx = srcu_read_lock(&ctrl->srcu); in nvme_dev_user_cmd()
833 srcu_read_unlock(&ctrl->srcu, srcu_id in nvme_dev_user_cmd()
[all...]
/linux/arch/x86/kernel/cpu/sgx/ !
H A 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, id in sgx_zap_enclave_ptes()
[all...]
/linux/Documentation/virt/kvm/ !
H A Dlocking.rst38 - ``synchronize_srcu(&kvm->srcu)`` is called inside critical sections
40 be taken inside a kvm->srcu read-side critical section; that is, the
43 srcu_read_lock(&kvm->srcu);
48 kvm->srcu read-side critical section, for example while processing
275 ``kvm->srcu``
277 :Type: srcu lock
281 :Comment: The srcu read lock must be held while accessing memslots (e.g.
284 The srcu index can be stored in kvm_vcpu->srcu_idx per vcpu
292 in a ``kvm->srcu`` read-side critical section.
/linux/kernel/ !
H A Dnotifier.c518 synchronize_srcu(&nh->srcu); in srcu_notifier_chain_unregister()
545 idx = srcu_read_lock(&nh->srcu); in srcu_notifier_call_chain()
547 srcu_read_unlock(&nh->srcu, idx); in srcu_notifier_call_chain()
554 * @nh: Pointer to head of the srcu notifier chain
567 if (init_srcu_struct(&nh->srcu) < 0) in srcu_init_notifier_head()
/linux/arch/loongarch/kvm/ !
H A Dexit.c209 idx = srcu_read_lock(&vcpu->kvm->srcu); in kvm_emu_iocsr()
211 srcu_read_unlock(&vcpu->kvm->srcu, idx); in kvm_emu_iocsr()
221 idx = srcu_read_lock(&vcpu->kvm->srcu); in kvm_emu_iocsr()
223 srcu_read_unlock(&vcpu->kvm->srcu, idx); in kvm_emu_iocsr()
476 idx = srcu_read_lock(&vcpu->kvm->srcu); in kvm_emu_mmio_read()
479 srcu_read_unlock(&vcpu->kvm->srcu, idx); in kvm_emu_mmio_read()
645 idx = srcu_read_lock(&vcpu->kvm->srcu); in kvm_emu_mmio_write()
647 srcu_read_unlock(&vcpu->kvm->srcu, idx); in kvm_emu_mmio_write()
/linux/tools/testing/selftests/rcutorture/configs/rcu/ !
H A DSRCU-T.boot1 rcutorture.torture_type=srcu
H A DSRCU-N.boot1 rcutorture.torture_type=srcu

1234