Home
last modified time | relevance | path

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

123

/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/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 = (unsigned char __user *)*rm; in handle_unaligned_ins()
[all …]
/linux/drivers/nvme/host/
H A Dmultipath.c221 srcu_idx = srcu_read_lock(&ctrl->srcu); in nvme_kick_requeue_lists()
223 srcu_read_lock_held(&ctrl->srcu)) { in nvme_kick_requeue_lists()
230 srcu_read_unlock(&ctrl->srcu, srcu_idx); in nvme_kick_requeue_lists()
262 srcu_idx = srcu_read_lock(&ctrl->srcu); in nvme_mpath_clear_ctrl_paths()
264 srcu_read_lock_held(&ctrl->srcu)) { in nvme_mpath_clear_ctrl_paths()
268 srcu_read_unlock(&ctrl->srcu, srcu_idx); in nvme_mpath_clear_ctrl_paths()
278 srcu_idx = srcu_read_lock(&head->srcu); in nvme_mpath_revalidate_paths()
280 srcu_read_lock_held(&head->srcu)) { in nvme_mpath_revalidate_paths()
284 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_mpath_revalidate_paths()
328 __must_hold_shared(&head->srcu) in __nvme_find_path()
[all...]
H A Dioctl.c732 __releases_shared(&head->srcu) in nvme_ns_head_ctrl_ioctl()
738 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_ns_head_ctrl_ioctl()
758 srcu_idx = srcu_read_lock(&head->srcu); in nvme_ns_head_ioctl()
774 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_ns_head_ioctl()
789 srcu_idx = srcu_read_lock(&head->srcu); in nvme_ns_head_chr_ioctl()
800 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_ns_head_chr_ioctl()
809 int srcu_idx = srcu_read_lock(&head->srcu); in nvme_ns_head_chr_uring_cmd()
815 srcu_read_unlock(&head->srcu, srcu_idx); in nvme_ns_head_chr_uring_cmd()
849 srcu_idx = srcu_read_lock(&ctrl->srcu); in nvme_dev_user_cmd()
869 srcu_read_unlock(&ctrl->srcu, srcu_idx); in nvme_dev_user_cmd()
[all …]
H A Dcore.c694 cleanup_srcu_struct(&head->srcu); in nvme_free_ns_head()
4031 ret = init_srcu_struct(&head->srcu); in nvme_alloc_ns_head()
4069 cleanup_srcu_struct(&head->srcu); in nvme_alloc_ns_head()
4213 srcu_idx = srcu_read_lock(&ctrl->srcu); in nvme_find_get_ns()
4215 srcu_read_lock_held(&ctrl->srcu)) { in nvme_find_get_ns()
4225 srcu_read_unlock(&ctrl->srcu, srcu_idx); in nvme_ns_add_to_ctrl_list()
4316 synchronize_srcu(&ctrl->srcu); in nvme_alloc_ns()
4335 synchronize_srcu(&ctrl->srcu); in nvme_alloc_ns()
4355 synchronize_srcu(&ns->head->srcu); in nvme_alloc_ns()
4380 synchronize_srcu(&ns->head->srcu); in nvme_ns_remove()
[all...]
/linux/drivers/reset/
H A Dcore.c58 struct srcu_struct srcu; member
191 synchronize_srcu(&rstc->srcu); in reset_controller_unregister()
385 guard(srcu)(&rstc->srcu); in reset_control_reset()
387 rcdev = srcu_dereference(rstc->rcdev, &rstc->srcu); in reset_control_reset()
506 guard(srcu)(&rstc->srcu); in reset_control_assert()
508 rcdev = srcu_dereference(rstc->rcdev, &rstc->srcu); in reset_control_assert()
602 guard(srcu)(&rstc->srcu); in reset_control_deassert()
604 rcdev = srcu_dereference(rstc->rcdev, &rstc->srcu); in reset_control_deassert()
682 guard(srcu)(&rstc->srcu); in reset_control_status()
684 rcdev = srcu_dereference(rstc->rcdev, &rstc->srcu); in reset_control_status()
[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()
347 idx = srcu_read_lock(&kvm->srcu); in kvm_write_track_add_gfn()
351 srcu_read_unlock(&kvm->srcu, idx); in kvm_write_track_add_gfn()
359 srcu_read_unlock(&kvm->srcu, idx); in kvm_write_track_add_gfn()
377 idx = srcu_read_lock(&kvm->srcu); in kvm_write_track_remove_gfn()
381 srcu_read_unlock(&kvm->srcu, idx); in kvm_write_track_remove_gfn()
389 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_idx); 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()
804 srcu_idx = srcu_read_lock(&wl->srcu); in set_wiphy_params()
859 srcu_read_unlock(&wl->srcu, srcu_idx); in set_wiphy_params()
1544 srcu_idx = srcu_read_lock(&wl->srcu); in add_virtual_intf()
1549 srcu_read_unlock(&wl->srcu, srcu_idx); in add_virtual_intf()
1555 srcu_read_unlock(&wl->srcu, srcu_idx); in add_virtual_intf()
1563 srcu_read_unlock(&wl->srcu, srcu_idx); in add_virtual_intf()
1568 srcu_read_unlock(&wl->srcu, srcu_idx); 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/rust/kernel/sync/
H A Dsrcu.rs75 srcu: self, in read_lock()
153 srcu: &'a Srcu, field
169 unsafe { bindings::srcu_read_unlock(self.srcu.inner.get(), self.idx) }; in drop()
/linux/include/linux/
H A Dnotifier.h77 struct srcu_struct srcu; member
96 cleanup_srcu_struct(&(name)->srcu);
112 .srcu = __SRCU_STRUCT_INIT(name.srcu, name.srcuu, pcpu, 0), \
/linux/drivers/hid/bpf/
H A Dhid_bpf_dispatch.c108 idx = srcu_read_lock(&hdev->bpf.srcu); in dispatch_hid_bpf_raw_requests()
110 srcu_read_lock_held(&hdev->bpf.srcu)) { in dispatch_hid_bpf_raw_requests()
121 srcu_read_unlock(&hdev->bpf.srcu, idx); in dispatch_hid_bpf_raw_requests()
145 idx = srcu_read_lock(&hdev->bpf.srcu); in dispatch_hid_bpf_output_report()
147 srcu_read_lock_held(&hdev->bpf.srcu)) { in dispatch_hid_bpf_output_report()
158 srcu_read_unlock(&hdev->bpf.srcu, idx); in dispatch_hid_bpf_output_report()
649 synchronize_srcu(&hdev->bpf.srcu); in hid_bpf_destroy_device()
650 cleanup_srcu_struct(&hdev->bpf.srcu); in hid_bpf_destroy_device()
658 return init_srcu_struct(&hdev->bpf.srcu); in hid_bpf_device_init()
/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/powerpc/kvm/
H A 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()
844 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_h_svm_init_done()
867 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_h_svm_init_done()
891 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_share_page()
928 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_share_page()
961 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_h_svm_page_in()
988 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_h_svm_page_in()
[all …]
H A 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()
745 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_rmap_reset()
758 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_rmap_reset()
1137 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_pin_guest_page()
1146 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_pin_guest_page()
1154 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_pin_guest_page()
1173 srcu_idx = srcu_read_lock(&kvm->srcu); in kvmppc_unpin_guest_page()
1177 srcu_read_unlock(&kvm->srcu, srcu_idx); in kvmppc_unpin_guest_page()
1248 int srcu_idx = srcu_read_lock(&kvm->srcu); in resize_hpt_rehash_hpte()
[all …]
/linux/drivers/gpio/
H A Dgpiolib.c176 scoped_guard(srcu, &gpio_devices_srcu) { in gpio_to_desc()
429 lockdep_assert_held(&gc->gpiodev->srcu); in gpiochip_get_direction()
584 guard(srcu)(&gpio_devices_srcu); in gpio_name_to_desc()
588 guard(srcu)(&gdev->srcu); in gpio_name_to_desc()
590 gc = srcu_dereference(gdev->chip, &gdev->srcu); in gpio_name_to_desc()
904 cleanup_srcu_struct(&gdev->srcu); in gpiodev_release()
1090 guard(srcu)(&gpio_devices_srcu); in gpiochip_setup_devs()
1094 guard(srcu)(&gdev->srcu); in gpiochip_setup_devs()
1096 gc = srcu_dereference(gdev->chip, &gdev->srcu); in gpiochip_setup_devs()
1199 ret = init_srcu_struct(&gdev->srcu); in gpiochip_add_data_with_key()
[all …]
H A Dgpiolib-cdev.c214 guard(srcu)(&lh->gdev->srcu); in linehandle_ioctl()
1449 guard(srcu)(&lr->gdev->srcu); in linereq_ioctl()
1480 guard(srcu)(&lr->gdev->srcu); in linereq_poll()
1502 guard(srcu)(&lr->gdev->srcu); in linereq_read()
1776 guard(srcu)(&le->gdev->srcu); in lineevent_poll()
1814 guard(srcu)(&le->gdev->srcu); in lineevent_read()
1896 guard(srcu)(&le->gdev->srcu); in lineevent_ioctl()
2195 scoped_guard(srcu, &desc->gdev->desc_srcu) { in gpio_desc_to_lineinfo()
2413 guard(srcu)(&gdev->srcu); in gpio_ioctl()
2475 scoped_guard(srcu, &ctx->gdev->srcu) { in lineinfo_changed_func()
[all …]
/linux/Documentation/virt/kvm/
H A Dlocking.rst40 - ``synchronize_srcu(&kvm->srcu)`` is called inside critical sections
42 be taken inside a kvm->srcu read-side critical section; that is, the
45 srcu_read_lock(&kvm->srcu);
50 kvm->srcu read-side critical section, for example while processing
277 ``kvm->srcu``
279 :Type: srcu lock
283 :Comment: The srcu read lock must be held while accessing memslots (e.g.
286 The srcu index can be stored in kvm_vcpu->srcu_idx per vcpu
294 in a ``kvm->srcu`` read-side critical section.
/linux/rust/kernel/
H A Dsync.rs24 pub mod srcu; module
42 pub use srcu::Srcu;
/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()
567 if (init_srcu_struct(&nh->srcu) < 0) in srcu_init_notifier_head()
/linux/arch/loongarch/kvm/intc/
H A Dipi.c136 idx = srcu_read_lock(&vcpu->kvm->srcu); in send_ipi_data()
138 srcu_read_unlock(&vcpu->kvm->srcu, idx); in send_ipi_data()
152 idx = srcu_read_lock(&vcpu->kvm->srcu); in send_ipi_data()
154 srcu_read_unlock(&vcpu->kvm->srcu, idx); in send_ipi_data()
/linux/tools/testing/selftests/rcutorture/configs/rcu/
H A DSRCU-T.boot1 rcutorture.torture_type=srcu

123