Re: [PATCH [RT] 08/14] add a loop counter based timeout mechanism

From: Andi Kleen
Date: Thu Feb 21 2008 - 11:42:52 EST



> +config RTLOCK_DELAY
> + int "Default delay (in loops) for adaptive rtlocks"
> + range 0 1000000000
> + depends on ADAPTIVE_RTLOCK

I must say I'm not a big fan of putting such subtle configurable numbers
into Kconfig. Compilation is usually the wrong place to configure
such a thing. Just having it as a sysctl only should be good enough.

> + default "10000"

Perhaps you can expand how you came up with that default number?
It looks suspiciously round and worse the actual spin time depends a lot on the
CPU frequency (so e.g. a 3Ghz CPU will likely behave quite
differently from a 2Ghz CPU) Did you experiment with other spin times?
Should it be scaled with number of CPUs? And at what point is real
time behaviour visibly impacted?

Most likely it would be better to switch to something that is more
absolute time, like checking RDTSC every few iteration similar to what
udelay does. That would be at least constant time.

-Andi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/