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);
| |