lkml.org 
[lkml]   [2009]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [GIT PULL] x86/fpu for v2.6.32

Hi Ingo,

First of all, I want to say that I have no real objections to the patch
what-so-ever. The following is merely to satisfy my own personal
curiosity - and I'm sure you have better things to do than satisfy my
curiosity, so if you want to ignore me; feel free :-)

On Fri, 11 Sep 2009, Ingo Molnar wrote:

[...]
> + bool preload_fpu;
>
> /* never put a printk in __switch_to... printk() calls wake_up*() indirectly */
>
> - __unlazy_fpu(prev_p);
> + /*
> + * If the task has used fpu the last 5 timeslices, just do a full
> + * restore of the math state immediately to avoid the trap; the
> + * chances of needing FPU soon are obviously high now
> + */
> + preload_fpu = tsk_used_math(next_p) && next_p->fpu_counter > 5;
>
> + __unlazy_fpu(prev_p);
>
[...]
> + * If the task has used fpu the last 5 timeslices, just do a full
> + * restore of the math state immediately to avoid the trap; the
> + * chances of needing FPU soon are obviously high now
> + */
> + preload_fpu = tsk_used_math(next_p) && next_p->fpu_counter > 5;
>

I'm wondering about two things:

1) Where did that magic constant "5" come from?
Is there some fundamental thing about CPU's, cache layout, scheduling,
benchmarks or something else that I just don't know that makes 5 the magic
"right number"? Why not 2, 3, 9 or 42?

2) Instead of writing that constant "5" multiple places, wouldn't it be
nicer to use a '#define FPU_RESTORE_TIMESLICES 5' or 'static const
unsigned int FPU_RESTORE_TIMESLICES = 5;' instead?
Personally I hate magic numbers that are used in more than one location.
I'd much rather have a constant with a sane name defined once (with a
comment explaining it) and then see the name used in multiple places.


That's all. :)


--
Jesper Juhl <jj@chaosbits.net> http://www.chaosbits.net/
Plain text mails only, please http://www.expita.com/nomime.html
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html



\
 
 \ /
  Last update: 2009-09-11 23:33    [W:0.250 / U:0.732 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site