[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090822.181552.152398363.davem@davemloft.net>
Date: Sat, 22 Aug 2009 18:15:52 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: khc@...waw.pl
Cc: netdev@...r.kernel.org, jeffrey.t.kirsher@...el.com,
jesse.brandeburg@...el.com, bruce.w.allan@...el.com,
peter.p.waskiewicz.jr@...el.com, john.ronciak@...el.com
Subject: Re: E100 RX ring buffers continued...
From: Krzysztof Halasa <khc@...waw.pl>
Date: Sat, 22 Aug 2009 16:09:00 +0200
> E100 RX buffers seem more problematic than I though. The descriptor
> doesn't contain the address of the data buffer. Instead, the
> descriptor is to be followed by the data buffer immediately. It's
> not only the driver invention :-(
I'm happy we can now see now why nobody has "fixed" this for more than
15 years :-)
I think going down the road of trying to use the flexible mode is a
dead end. I doubt any other OS driver is using it, and that means
that there are likely many other errata hiding in the bushes which you
will unearth by trying to use this new descriptor mode. And it won't
show up when you test it, it will show up when some random person in
some remote data center somewhere updates their kernel, and they won't
send us a bug report, they'll replace their card or downgrade their
kernel instead.
And that's why it's inappropiate to approach this problem in this way
for a driver this old, and for hardware that's been around so long.
Just make the driver use consistent buffers for RX, and when packets
arrive an SKB is allocated and the packet data is copied into the SKB
from the consistent buffer.
And for 2.6.31-rcX we probably have to simply revert your change.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists