On Tue, Dec 11, 2012 at 6:27 PM, Oliver Neukum [off-list ref] wrote:
On Tuesday 11 December 2012 10:24:57 Ming Lei wrote:
quoted
On Mon, Dec 10, 2012 at 10:18 PM, Steve Glendinning [off-list ref] wrote:
quoted
quoted
Thanks, so something like this should do the job?
This will do, but not simple as clearing .manage_power function
pointer in bind(), and still disable runtime suspend for link off case
since these devices which don't support suspend 3 can generate
remote wakeup for link change event.
So they can autosuspend if the interface is up and no cable is plugged
in?
From the open datasheet, that is the suspend 1 mode, which is supported
by all LAN95xx devices. Steve, correct me if I am wrong.
quoted
I suggest to introduce link-off triggered runtime suspend for these
usbnet devices(non-LAN9500A device, devices which don't support
USB auto-suspend), and I have posted one patch set before[1].
If no one objects that, I'd like to post them again with some fix and
update for checking link after link_reset().
If you can get rid of a periodic work this would be great.
For the LAN95xx devices, the periodic work isn't needed because
they may generate remote wakeup when link change is detected.
In fact, I have test data which can show a much power save
on OMAP3 based beagle board plus asix usbnet device with
the periodic work. IMO, the power save after introducing periodic
timer depends on the arch or platform, there should be much power
save if the CPU power consumption is very less. So how about letting
module parameter switch on/off the periodic work?
Thanks,
--
Ming Lei
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Steve Glendinning <hidden> Date: 2012-12-11 13:12:22
On 11 December 2012 12:53, Ming Lei [off-list ref] wrote:
On Tue, Dec 11, 2012 at 6:27 PM, Oliver Neukum [off-list ref] wrote:
quoted
So they can autosuspend if the interface is up and no cable is plugged
in?
From the open datasheet, that is the suspend 1 mode, which is supported
by all LAN95xx devices. Steve, correct me if I am wrong.
All parts support SUSPEND1, but some parts can't 100% reliably wake on
ENERGYON - some link partners will wake them but others won't. The
driver already detects parts that work reliably with all link partners
and sets the FEATURE_PHY_NLP_CROSSOVER feature flag.
I didn't block these devices from configuring WOL, because they do
work in *some* cases and the user is explicitly requesting to wake the
system so we try to do that (and sometimes succeed).
quoted
quoted
I suggest to introduce link-off triggered runtime suspend for these
usbnet devices(non-LAN9500A device, devices which don't support
USB auto-suspend), and I have posted one patch set before[1].
If no one objects that, I'd like to post them again with some fix and
update for checking link after link_reset().
If you can get rid of a periodic work this would be great.
For the LAN95xx devices, the periodic work isn't needed because
they may generate remote wakeup when link change is detected.
As above, some parts will do this but some will not. I think we
should only consider sleeping the part if we're sure it'll wake up
when a cable is connected!
--
Steve Glendinning
From: Oliver Neukum <oliver@neukum.org> Date: 2012-12-11 15:19:11
On Tuesday 11 December 2012 20:53:19 Ming Lei wrote:
In fact, I have test data which can show a much power save
on OMAP3 based beagle board plus asix usbnet device with
the periodic work. IMO, the power save after introducing periodic
timer depends on the arch or platform, there should be much power
save if the CPU power consumption is very less. So how about letting
module parameter switch on/off the periodic work?
You could ask on linux-power and netdev. But there would be an
obvious question: Why kernel space?
Regards
Oliver
CC linux-power
On Tue, Dec 11, 2012 at 11:19 PM, Oliver Neukum [off-list ref] wrote:
On Tuesday 11 December 2012 20:53:19 Ming Lei wrote:
quoted
In fact, I have test data which can show a much power save
on OMAP3 based beagle board plus asix usbnet device with
the periodic work. IMO, the power save after introducing periodic
timer depends on the arch or platform, there should be much power
save if the CPU power consumption is very less. So how about letting
module parameter switch on/off the periodic work?
You could ask on linux-power and netdev. But there would be an
obvious question: Why kernel space?
How does user space utility know one interface doesn't support remote
wakeup for link change? and how to do it in user space? Or could we
persuade user space guys to do it? Or could the previous user space
utility can support power save on these devices?
At least, one advantage of doing it in kernel space is that we can let
current and previous user space utility support power save on these
devices when the link is off.
Also, suppose user space utility may close interface automatically when
the link becomes off, some configurations(such as IP address) of the
network interface will be lost after it is brought up again next time once
the link becomes on. The problem might break some application.
Thanks,
--
Ming Lei