lkml.org 
[lkml]   [2008]   [Feb]   [29]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateFri, 29 Feb 2008 14:34:33 +0100
FromIngo Molnar <>
SubjectRe: 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);

\
 
 \ /
  Last update: 2008-02-29 14:37    [from the cache]
©2003-2008