Messages in this thread | | | Date | Fri, 11 Sep 2009 23:30:42 +0200 (CEST) | From | Jesper Juhl <> | Subject | Re: [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
| |