On Fri, Jan 20, 2006 at 11:51:23AM +0100, kus Kusche Klaus ([EMAIL PROTECTED]) wrote: > From: Evgeniy Polyakov [mailto:[EMAIL PROTECTED] > > Each MDIO read can take upto 2 msecs (!) and at least 20 > > usecs in e100, > > and this runs in timer handler. > > Concider attaching (only compile tested) patch which moves > > e100 watchdog > > into workqueue. > > Tested the patch. Works and has the expected effects: > > Fully preemptible kernel: > No change: 500 us delay at rtprio 1, no delay at higher rtprio. > (you just moved the 500 us piece of code from one rtprio 1 kernel > thread to another rtprio 1 kernel thread). > > Kernel with desktop preemption: > Originally: Threads at any rtprio suffered from 500 us delay. > With your patch: Only rtprio 1 threads suffer from 500 us delay, > no delay at higher rtprio.
Just a hack: --- drivers/net/e100.c.1 2006-01-20 13:39:19.000000000 +0300 +++ drivers/net/e100.c 2006-01-20 14:15:40.000000000 +0300 @@ -879,8 +879,8 @@ writel((reg << 16) | (addr << 21) | dir | data, &nic->csr->mdi_ctrl); - for(i = 0; i < 100; i++) { - udelay(20); + for(i = 0; i < 1000; i++) { + udelay(2); if((data_out = readl(&nic->csr->mdi_ctrl)) & mdi_ready) break; } > -- > Klaus Kusche (Software Development - Control Systems) > KEBA AG Gewerbepark Urfahr, A-4041 Linz, Austria (Europe) > Tel: +43 / 732 / 7090-3120 Fax: +43 / 732 / 7090-6301 > E-Mail: [EMAIL PROTECTED] WWW: www.keba.com > -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html