|To:||"Chad N. Tindel" <ctindel@xxxxxxxxxxxxxxxxxxxxxx>|
|Subject:||Re: [Bonding-devel] Re: Bonding driver unreliable under high CPUload|
|From:||Jeff Garzik <jgarzik@xxxxxxxxxxxxxxxx>|
|Date:||Tue, 17 Sep 2002 16:23:52 -0400|
|Cc:||Andrew Morton <akpm@xxxxxxxxx>, "Cureington, Tony" <tony.cureington@xxxxxx>, Pascal Brisset <pascal.brisset-ml@xxxxxxxxxx>, bonding-devel@xxxxxxxxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx|
|User-agent:||Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1) Gecko/20020826|
Chad N. Tindel wrote:
Will netif_carrier_ok(slave_dev) always work? Do all drivers support the __LINK_STATE_NOCARRIER flag?No. Read again the precise language I used :)Right, well thats what I thought. But how can we do what Andrew wants?
You'll need execute those ioctls from process context -- or call dev->do_ioctl() yourself with proper locking. The latter would certainly be faster but you must be _very_ careful to avoid deadlocks. The former would certainly be preferred anyway, because calling an ioctl to check link state means you are hitting the slave_dev's phy, which is a very expensive operation in and of itself.
Unfortunately I am thinking that locking in bonding.c may need a re-think if you want to do this sort of stuff :( Semaphores instead of a spinlocks may be appropriate, depending on the contexts in which link_state _really_ needs to be checked.
|<Prev in Thread]||Current Thread||[Next in Thread>|
|Previous by Date:||Re: [Bonding-devel] Re: Bonding driver unreliable under high CPU load, Jeff Garzik|
|Next by Date:||Re: [Bonding-devel] Re: Bonding driver unreliable under high CPUload, Andrew Morton|
|Previous by Thread:||Re: [Bonding-devel] Re: Bonding driver unreliable under high CPUload, Chad N. Tindel|
|Next by Thread:||Re: [Bonding-devel] Re: Bonding driver unreliable under high CPUload, Jeff Garzik|
|Indexes:||[Date] [Thread] [Top] [All Lists]|