Messages in this thread | | | Date | Mon, 16 Aug 2004 10:07:45 +0200 | From | Roger Luethi <> | Subject | Re: [patch] voluntary-preempt-2.6.8.1-P0 |
| |
On Sun, 15 Aug 2004 19:24:24 -0400, Lee Revell wrote: > 0.000ms (+0.000ms): rhine_check_duplex (rhine_timer) > 0.000ms (+0.000ms): mdio_read (rhine_check_duplex) > 0.067ms (+0.067ms): mdio_read (rhine_timer) > 0.139ms (+0.071ms): check_preempt_timing (sub_preempt_count) > > This looks like the exact same problem Florian had, in his case it was > the sis900 driver. Your recommendation was: > > #define mdio_delay() do { } while (0) > > Should I try this?
If you want to try it, you are looking for IOSYNC (not medio_delay) in this driver. However, doing this can break write ordering and thus any driver you are treating that way.
> Also, isn't there a better solution than for network drivers to actively > poll for changes in link status? Can't they just register a callback that
For the Rhine, there is, but making it work requires some extra black magic we didn't know until a few months ago. It's fixed in -mm now and will probably be in 2.6.9. That doesn't mean the media_check is gone, though. It just means it only happens on actual events.
Roger - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |