Re: [patch] voluntary-preempt-2.6.8.1-P0

Roger Luethi
2004-08-16T08:08:10Z

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