lkml.org 
[lkml]   [2015]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/3] context_tracking: Inherit TIF_NOHZ through forks instead of context switches
On Thu, Apr 02, 2015 at 03:11:20PM -0400, Rik van Riel wrote:
> On 04/02/2015 03:09 PM, Peter Zijlstra wrote:
> > On Thu, Apr 02, 2015 at 07:39:24PM +0200, Frederic Weisbecker wrote:
> >> TIF_NOHZ is used by context_tracking to force syscall slow-path on every
> >> task in order to track userspace roundtrips. As such, it must be set on
> >> all running tasks.
> >>
> >> It's currently explicitly inherited through context switches. There is
> >> no need to do it on this fast-path though. The flag could be simply
> >> set once for all on all tasks, whether they are running or not.
> >>
> >> Lets do this by setting the flag to init task on early boot and let it
> >> propagate through fork inheritance.
> >>
> >
> > One must ask, what's the point of the flag if everybody must always have
> > it set?
>
> We already test this word full of flags in the syscall
> entry and exit path.
>
> Testing this same word for an additional flag is cheaper
> than testing a different variable.
>
> See the places in entry_{32,64}.S where do_notify_resume,
> syscall_trace_enter, syscall_trace_leave, etc get called.
> All are called as a result of testing flags in the same
> word.

Indeed, we could add another check for a global flag but that's going
to bloat the syscall fastpath.


\
 
 \ /
  Last update: 2015-04-03 20:01    [W:1.723 / U:0.148 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site