On Wed, 10 Oct 2007 00:11:17 +0530, Kok, Auke <[EMAIL PROTECTED]>
wrote:
Lennart Sorensen wrote:
On Mon, Oct 08, 2007 at 03:31:51PM -0700, Kok, Auke wrote:
you most certainly want to do this in userspace I think.
One of the biggest problems is that link negotiation can take a
significant amount
of time, well over several seconds (1 to 3 seconds typical) with
gigabit, and
having your ethernet connection go offline for 3 seconds may not be
the desired
effect for when you want to get more bandwidth in the first place.
However, when a laptop is in battery mode, switching down from gigabit
to 100mbit
makes a lot more sense, so this is something I would recommend. This
can be as
easy as changing the advertisement mask of the interface and
renegotiating the
link. Userspace could handle that very easily.
Now if you were trying to transfer a lot of data to the laptop, would it
be more power efficient to do it at gigabit speeds so you can finish
sooner and shut down the machine entirely, or to slow to 100mbit and
take longer to do it, and hence spend more time powering the cpu and
ram?
my suspicion is that the cost of switching is much higher than what you
would
consume running at 100mbit, even if the amount of data is quite large.
going
offline to renegotiate the link would already cost you 3W typically.
I definately think that userspace is the right field to solve this
problem: let
the users decide how to use the available power on their sytems through
a decent
power profile tool (perhaps gnome-power-manager or something like that).
This way
the user can choose.
Auke
-
Perhaps interrupt moderation could be of help here (say - switch to lesser
interrupts per unit of time when running on battery), which I find that
the e1000 driver doesn't employ in the kernel presently. (For interrupt
moderation, refer:
http://download.intel.com/design/network/applnots/ap450.pdf.)
Without the side-effect of experiencing a link-flap when switching to a
lower-speed (with its toll in terms of down-time for auto-negotiation,
STP, etc), the Interrupt Moderation Algorithm dynamically adjusts the
number of interrupts based on traffic - and presumably consume less power.
For an "Optimise for Power" kind of profile - the driver can be loaded
with a higher throttle rate during boot-time.
Thanks,
K.Prasad
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/