lkml.org 
[lkml]   [2012]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] context_tracking: Add comments on interface and internals
From
2012/12/14 Andrew Morton <akpm@linux-foundation.org>:
> On Thu, 13 Dec 2012 23:50:23 +0100
> Frederic Weisbecker <fweisbec@gmail.com> wrote:
>
>> >
>> >> + * This call supports re-entrancy.
>> >
>> > Presumably the explanation for user_exit() applies here.
>>
>> Not sure what you mean here.
>
> It's unclear what it means to say "user_enter() supports reentrancy".
> I mean, zillions of kernel functions are surely reentrant - so what?
> It appears that you had something in mind when pointing this out, but
> what was it? The comment over user_exit() appears to tell us.

Ah ok. Yeah indeed, the fact user_exit() is reentrant is very
important because I have precise usecases in mind. For user_enter() I
don't, so probably I don't need to inform about it.

>
>> > It's mainly this bit which makes me wonder why the code is in lib/. Is
>> > there any conceivable prospect that any other subsystem will use this
>> > code for anything?
>>
>> So that's because of that cputime accounting on dynticks CPUs which
>> will need to know about user/kernel transitions. I'm preparing that
>> for the 3.9 merge window.
>
> Oh. That's really the entire reason for the patch and should have been
> in the changelog!

I mentioned it in the changelog:

commit 91d1aa43d30505b0b825db8898ffc80a8eca96c7 "context_tracking: New
context tracking susbsystem"
"""
We need to pull this up from RCU into this new level of indirection
because this tracking is also going to be used to implement an "on
demand" generic virtual cputime accounting. A necessary step to
shutdown the tick while still accounting the cputime.
"""

Another reason, more implicit this time, was to avoid that RCU handles
those reentrancy things and context tracking all around by itself.


\
 
 \ /
  Last update: 2012-12-14 00:41    [W:0.032 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site