Home
last modified time | relevance | path

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

/linux/include/linux/
H A Drseq_entry.h100 if (likely(!current->rseq.slice.state.granted)) in rseq_arm_slice_extension_timer()
108 if (IS_ENABLED(CONFIG_RSEQ_STATS) && t->rseq.slice.state.granted) in rseq_slice_clear_grant()
110 t->rseq.slice.state.granted = false; in rseq_slice_clear_grant()
118 struct rseq __user *rseq; in rseq_grant_slice_extension() local
124 state = curr->rseq.slice.state; in rseq_grant_slice_extension()
125 state.enabled &= curr->rseq.event.user_irq; in rseq_grant_slice_extension()
129 rseq = curr->rseq.usrptr; in rseq_grant_slice_extension()
130 scoped_user_rw_access(rseq, efault) { in rseq_grant_slice_extension()
144 unsafe_put_user(0U, &rseq->slice_ctrl.all, efault); in rseq_grant_slice_extension()
149 unsafe_get_user(usr_ctrl.all, &rseq->slice_ctrl.all, efault); in rseq_grant_slice_extension()
[all …]
H A Drseq.h16 if (current->rseq.event.slowpath) in rseq_handle_slowpath()
20 if (current->rseq.event.sched_switch & current->rseq.event.has_rseq) in rseq_handle_slowpath()
35 if (current->rseq.event.has_rseq & current->rseq.event.user_irq) in rseq_signal_deliver()
38 if (current->rseq.event.has_rseq) in rseq_signal_deliver()
51 struct rseq_event *ev = &t->rseq.event; in rseq_sched_switch_event()
69 t->rseq.event.sched_switch = true; in rseq_sched_switch_event()
84 t->rseq.event.ids_changed = true; in rseq_sched_set_ids_changed()
90 if (current->rseq.event.has_rseq) { in rseq_force_update()
91 current->rseq.event.ids_changed = true; in rseq_force_update()
92 current->rseq.event.sched_switch = true; in rseq_force_update()
[all …]
H A Drseq_types.h10 struct rseq;
111 struct rseq __user *usrptr;
H A Dsyscalls.h66 struct rseq;
961 asmlinkage long sys_rseq(struct rseq __user *rseq, uint32_t rseq_len,
H A Dsched.h1410 struct rseq_data rseq;
1409 struct rseq_data rseq; global() member
/linux/kernel/
H A Drseq.c246 struct rseq __user *urseq = t->rseq.usrptr; in rseq_handle_cs()
295 event = t->rseq.event.sched_switch; in rseq_slowpath_update_usr()
296 t->rseq.event.all &= evt_mask.all; in rseq_slowpath_update_usr()
311 t->rseq.event.error = 0; in rseq_slowpath_update_usr()
349 current->rseq.event.error = 0; in __rseq_signal_deliver()
363 if (!t->rseq.event.has_rseq) in __rseq_debug_syscall_return()
365 if (get_user(csaddr, &t->rseq.usrptr->rseq_cs)) in __rseq_debug_syscall_return()
410 SYSCALL_DEFINE4(rseq, struct rseq __user *, rseq, u32, rseq_len, int, flags, u32, sig) in SYSCALL_DEFINE4() argument
418 if (current->rseq.usrptr != rseq || !current->rseq.usrptr) in SYSCALL_DEFINE4()
420 if (rseq_len != current->rseq.len) in SYSCALL_DEFINE4()
[all …]
H A Dsys_ni.c392 COND_SYSCALL(rseq);
H A DMakefile139 obj-$(CONFIG_RSEQ) += rseq.o
/linux/include/uapi/linux/
H A Drseq.h102 struct rseq { struct
/linux/tools/testing/selftests/
H A DMakefile100 TARGETS += rseq
/linux/tools/perf/arch/mips/entry/syscalls/
H A Dsyscall_n64.tbl338 327 n64 rseq sys_rseq
/linux/tools/testing/selftests/kvm/
H A DMakefile.kvm268 -I ../rseq -I.. $(EXTRA_CFLAGS) $(KHDR_INCLUDES)
/linux/scripts/
H A Dsyscall.tbl344 293 common rseq sys_rseq
/linux/tools/scripts/
H A Dsyscall.tbl344 293 common rseq sys_rseq
/linux/tools/perf/arch/s390/entry/syscalls/
H A Dsyscall.tbl337 383 common rseq sys_rseq
/linux/tools/perf/arch/sh/entry/syscalls/
H A Dsyscall.tbl397 387 common rseq sys_rseq
/linux/tools/perf/arch/xtensa/entry/syscalls/
H A Dsyscall.tbl375 352 common rseq sys_rseq
/linux/tools/perf/arch/x86/entry/syscalls/
H A Dsyscall_64.tbl346 334 common rseq sys_rseq
H A Dsyscall_32.tbl401 386 i386 rseq sys_rseq
/linux/tools/perf/arch/sparc/entry/syscalls/
H A Dsyscall.tbl439 365 common rseq sys_rseq
/linux/tools/perf/arch/arm/entry/syscalls/
H A Dsyscall.tbl416 398 common rseq sys_rseq
/linux/tools/perf/arch/powerpc/entry/syscalls/
H A Dsyscall.tbl482 387 nospu rseq sys_rseq
/linux/init/
H A DKconfig1953 bool "Enable rseq() system call" if EXPERT
1967 bool "Enable rseq-based time slice extension mechanism"
2005 bool "Enable debugging of rseq() system call" if EXPERT
2009 Enable extra debugging checks for the rseq system call.
/linux/fs/
H A Dbinfmt_elf.c289 NEW_AUX_ENT(AT_RSEQ_FEATURE_SIZE, offsetof(struct rseq, end)); in create_elf_tables()
/linux/
H A DMAINTAINERS22629 F: include/trace/events/rseq.h
22630 F: include/uapi/linux/rseq.h
22631 F: kernel/rseq.c
22632 F: tools/testing/selftests/rseq/