Re: Scheduler broken? sdhci issues with scheduling

From: Ingo Molnar
Date: Fri Feb 29 2008 - 08:34:58 EST



* Simon Huggins <huggie@xxxxxxxx> wrote:

> [ Please Cc me on replies ]
>
> I had a bug with sdhci which Pierre Ossman looked at for me.
>
> In the end essentially the fix was to use HZ=1000 and nothing else.
> Pierre seemed to think that this was a bug in the scheduler.

does the patch below help, even if you keep HZ=100? This doesnt look
like a scheduler issue, it's more of a timer/timing issue. Different HZ
means different msleep() results - and the mmc code does a loop of small
msleep delays.

Ingo

-------------->
---
drivers/mmc/core/core.h | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)

Index: linux/drivers/mmc/core/core.h
===================================================================
--- linux.orig/drivers/mmc/core/core.h
+++ linux/drivers/mmc/core/core.h
@@ -36,12 +36,7 @@ void mmc_set_timing(struct mmc_host *hos

static inline void mmc_delay(unsigned int ms)
{
- if (ms < 1000 / HZ) {
- cond_resched();
- mdelay(ms);
- } else {
- msleep(ms);
- }
+ mdelay(ms);
}

void mmc_rescan(struct work_struct *work);
--
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/