table of contents
PREEMPT_SCHEDULE_NOT(9) | Driver Basics | PREEMPT_SCHEDULE_NOT(9) |
NAME¶
preempt_schedule_notrace - preempt_schedule called by tracing
SYNOPSIS¶
__visible void __sched notrace preempt_schedule_notrace(void);
ARGUMENTS¶
void
DESCRIPTION¶
The tracing infrastructure uses preempt_enable_notrace to prevent recursion and tracing preempt enabling caused by the tracing infrastructure itself. But as tracing can happen in areas coming from userspace or just about to enter userspace, a preempt enable can occur before user_exit is called. This will cause the scheduler to be called when the system is still in usermode.
To prevent this, the preempt_enable_notrace will use this function instead of preempt_schedule to exit user context if needed before calling the scheduler.
COPYRIGHT¶
January 2017 | Kernel Hackers Manual 4.8. |