On 09/21/2012 08:33 AM, Arnd Bergmann wrote:
On Friday 21 September 2012, Chunhe Lan wrote:
On 08/10/2012 09:27 AM, Arnd Bergmann wrote:
On Friday 10 August 2012, Chunhe Lan wrote:
cond_resched();
mdelay(ms);
sets off alarm bells, and I would always replace that with msleep().
I think that it does not replace with msleep().
When the time of sleep is very short, program should not been scheduled
in the context. Because it expends the more time.
A time measured in miliseconds is never "very short" for the scheduler,
a lot of things can happen during that time span. The code I quoted
also does not care too much about accuracy, otherwise it would adapt
the time in the mdelay based on whether the cond_resched() actually
schedules to another thread.
OK. As you have mentioned, it would been modified to such:
static inline void mmc_delay(unsigned int ms)
{
if (ms < 1000 / HZ) {
cond_resched();
msleep(ms);
} else {
msleep(ms);
}
}
OR such:
static inline void mmc_delay(unsigned int ms)
{
msleep(ms);
}
OR other code?
Thanks,
Chunhe
Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html