[lkml]   [2002]   [Jan]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] I3 sched tweaks...

    On Wed, 16 Jan 2002, Rusty Russell wrote:

    > > > 4) scheduler_tick needs no args (p is always equal to current).
    > >
    > > i have not taken this part. We have 'current' calculated in
    > > update_process_times(), so why not pass it along to the scheduler_tick()
    > > function?
    > Because it's redundant. It's *always* p == current (and the code
    > assumes this!), but I had to grep the callers to find out.

    we pass pointers across functions regularly, even if the pointer could be
    calculated within the function. We do this in the timer code too. It's
    slightly cheaper to pass an already existing (calculated) 'current'
    pointer over to another function, instead of calculating it once more in
    that function. This will be especially true once we make 'current' a tiny
    bit more expensive (Alan's kernel stack coloring rewrite will do that i
    think, it will be one more instruction to get 'current'.)

    > Moreover, the function doesn't make *sense* if p != current...

    yes - would it be perhaps cleaner then to name the variable 'this_task' or
    something like that?

    > > > 3) lock_task_rq returns the rq, rather than assigning it, for clarity.
    > >
    > > i've made it an inline function instead of a macro.
    > I thought of that, but assumed you had a good reason for making it a
    > macro in the first place...

    no good reason, the macro started out being simple, but then grew in size
    significantly, as the sophistication and correctness of the O(1) scheduler
    improved ;-)


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:23    [W:0.025 / U:8.584 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site