| To: | Stephen Hemminger <shemminger@xxxxxxxx> |
|---|---|
| Subject: | Re: RFC new ethtool command |
| From: | Andy Fleming <afleming@xxxxxxxxxxxxx> |
| Date: | Tue, 1 Mar 2005 17:15:30 -0600 |
| Cc: | Netdev <netdev@xxxxxxxxxxx>, Jeff Garzik <jgarzik@xxxxxxxxx> |
| In-reply-to: | <20050301104338.1380b7cc@dxpl.pdx.osdl.net> |
| References: | <3a958240e12af10ef6777f908abfe682@freescale.com> <20050301104338.1380b7cc@dxpl.pdx.osdl.net> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
|
On Mar 1, 2005, at 12:43, Stephen Hemminger wrote:
Ok, I probably shouldn't have mentioned the PHY testing, which was just a hack to inject errors into some code I was working on. My point in this case was it is easy using this method to add temporary debug parameters. I concede that ethtool may not be the best place for debug support. The problem I'm trying to solve is for the new features I mentioned before. I have an ethernet controller which is part of an SOC, and has access to the L2 cache. As such, the controller can read and write buffer descriptors directly from/to the L2 cache, and even lock them into the L2. Adding an abstraction for this to ethtool when there's only one driver that uses it seems premature. If no other controllers implement such a feature, then ethtool is cluttered up with what amounts to driver-specific code. If other controllers implement a similar feature, it's quite possible that the abstraction will need to change. Changing the abstraction (or adding a new one) can take up a significant amount of time, since the driver writer now has to modify the ethtool source, the ethtool kernel support, and then get the changes accepted. I agree that, eventually, it would be the goal to implement an abstraction, and go through the process of getting the changes accepted, but not until there's a "market" for the abstraction.
Well, some features are a little more complex than on/off. The stashing feature in the 85xx ethernet controllers allows a portion of each incoming packet to be extracted and placed directly in L2. This has performance implications, and so it is useful to be able to tune the parameters at runtime. Especially for benchmarking purposes, but also, once benchmarking has been done, to tune performance to the workload.
Module parameters are fine as long as you aren't trying to root your filesystem over NFS using the driver.
Well, yes... it uses ioctl and SIOCETHTOOL. I can see how sysfs could be used to do everything I'm trying to do. However, the same could be said about everything ethtool does. Is ethtool no longer the correct tool to use for tuning ethernet performance? I'm not philosophically opposed to the idea of supporting these features through sysfs, but it seems easier to be able to point people at ethtool for all their performance tuning needs. Andy Fleming Open Source Team Freescale Semiconductor, Inc |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: Kernel 2.6 IPV6 Busted, Andre Tomt |
|---|---|
| Next by Date: | Re: 2.6.10 and HTB dequeue bug, Tommy Christensen |
| Previous by Thread: | Re: RFC new ethtool command, Stephen Hemminger |
| Next by Thread: | Re: RFC new ethtool command, Jeff Garzik |
| Indexes: | [Date] [Thread] [Top] [All Lists] |