'\" t .\" Title: preempt_schedule_notrace .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: January 2017 .\" Manual: Driver Basics .\" Source: Kernel Hackers Manual 4.8.15 .\" Language: English .\" .TH "PREEMPT_SCHEDULE_NOT" "9" "January 2017" "Kernel Hackers Manual 4\&.8\&." "Driver Basics" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" preempt_schedule_notrace \- preempt_schedule called by tracing .SH "SYNOPSIS" .HP \w'__visible\ void\ __sched\ notrace\ preempt_schedule_notrace('u .BI "__visible void __sched notrace preempt_schedule_notrace(" "void" ");" .SH "ARGUMENTS" .PP \fIvoid\fR .RS 4 no arguments .RE .SH "DESCRIPTION" .PP .PP 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 \fBuser_exit\fR is called\&. This will cause the scheduler to be called when the system is still in usermode\&. .PP To prevent this, the preempt_enable_notrace will use this function instead of \fBpreempt_schedule\fR to exit user context if needed before calling the scheduler\&. .SH "COPYRIGHT" .br