Messages in this thread Patch in this message |  | | | Date | Fri, 29 Feb 2008 14:34:33 +0100 | | From | Ingo Molnar <> | | Subject | Re: Scheduler broken? sdhci issues with scheduling | |
* Simon Huggins <huggie@earth.li> 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);
|  |