public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Matthew Garrett <mjg59@srcf.ucam.org>
To: Arjan van de Ven <arjan@infradead.org>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: Network drivers that don't suspend on interface down
Date: Wed, 20 Dec 2006 14:31:35 +0000	[thread overview]
Message-ID: <20061220143134.GA25462@srcf.ucam.org> (raw)
In-Reply-To: <1166621931.3365.1384.camel@laptopd505.fenrus.org>

On Wed, Dec 20, 2006 at 02:38:51PM +0100, Arjan van de Ven wrote:
> about your driver list;
> do you have an idea of what the top 5 relevant ones would be?
> I'd be surprised if the top 5 together had less than 95% market share,
> so if we fix those we'd be mostly done already.

In terms of what I've seen on vaguely modern hardware, I'd guess at 
e1000 and sky2 as the top ones. b44 is still common in cheaper hardware, 
with via-rhine appearing at the very low end. I'll try to grep through 
our hardware database results to get a stronger idea about percentages.

> > The situation is more complicated for wireless. Userspace expects to be 
> > able to get scan results from the card even if the interface is down.
> 
> if it's down userspace cannot currently expect this (if it does it's
> broken), just as it currently can't expect link notifications when the
> interface is down. It needs to have the interface up for this. 
> (but point taken for a 3rd state)

The documentation for what userspace can legitimately expect of the 
kernel is distinctly lacking, and as far as I can tell most of the 
common drivers support scanning while the interface is down. It would be 
immensely helpful if we could have a better idea of which kernel 
behaviour is deliberate, and which bits of kernel functionality are 
accidental and might go away at any time. Right now, I have various 
scripts depending on this behaviour because there's absolutely no 
indication that I'm not supposed to be.

(Of course, I may have missed it somewhere - I've never been able to 
find terribly comprehensive documentation on WE)

> so what do you want from this 3rd state? rough guess based on what I
> think the desktop wants (so please correct/append)

Just to be clear: in this world view, "down" maps to "fully powered 
down", so this third state is a "low power consumption mode"? If so:

> In the third state you 
> * don't expect to get or send "regular" packets
> * don't have a dhcp lease or anything like that
> * you do expect to get link change notification [1]
> * you do expect to be able to scan for access points [2]

Yes, I think that's a fair summary. 

> open questions
> * what if you get a WOL event?

In an ideal world, I think the information would be passed to userspace 
and it would get to make the distinction. I appreciate that the hardware 
may have different ideas about what's appropriate...

> [1] What kind of latency would be allowed? Would an implementation be
> allowed to power up the phy say once per minute or once per 5 minutes to
> see if there is link? The implementation could do this progressively;
> first poll every X seconds, then after an hour, every minute etc.

Yeah, I guess that's a problem. From a user perspective, the 
functionality is only really useful if the latency is very small. I 
think where possible we'd want to power down the chip while keeping the 
phy up, but it would be nice to know how much power that would actually 
cost us.

(We have a similar issue when it comes to stuff like monitor hotplug - 
it's the sort of thing that many users are willing to accept losing some 
battery for, and there probably isn't a single right answer)
 
> [2] would it be permissible to temporarily power up the device on scan?
> Eg how frequently does the desktop expect to poll for scanning, and what
> kind of latency would be tolerable?

network-manager's behaviour when the interface is inactive is to scan 
every 2 minutes. I don't think latency is too much of an issue.

-- 
Matthew Garrett | mjg59@srcf.ucam.org

  reply	other threads:[~2006-12-20 14:31 UTC|newest]

Thread overview: 122+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-19 18:52 Changes to sysfs PM layer break userspace Matthew Garrett
2006-12-19 19:34 ` Arjan van de Ven
2006-12-19 19:44   ` Matthew Garrett
2006-12-19 20:03     ` Arjan van de Ven
2006-12-19 20:08       ` Matthew Garrett
2006-12-19 20:23         ` Arjan van de Ven
2006-12-19 20:32           ` Matthew Garrett
2006-12-19 20:55             ` Arjan van de Ven
2006-12-21  0:08               ` Kyle Moffett
2006-12-19 21:34             ` David Brownell
2006-12-20  0:25               ` Matthew Garrett
2006-12-20  3:59                 ` Changes to " David Brownell
2006-12-20  4:26                   ` Matthew Garrett
2006-12-20  5:14                     ` David Brownell
2006-12-20  5:34                       ` Greg KH
2006-12-20  5:52                         ` Matthew Garrett
2006-12-20  7:50                           ` Arjan van de Ven
2006-12-20 12:53                             ` Network drivers that don't suspend on interface down Matthew Garrett
2006-12-20 13:38                               ` Arjan van de Ven
2006-12-20 14:31                                 ` Matthew Garrett [this message]
2006-12-20 15:51                                   ` Arjan van de Ven
2006-12-20 22:49                                     ` Stephen Hemminger
2006-12-20 23:37                                       ` Rick Jones
2006-12-19 23:51                                         ` Stephen Hemminger
2006-12-21  0:11                                       ` Francois Romieu
2006-12-20  0:26                                         ` Stephen Hemminger
2006-12-21 11:18                                           ` Francois Romieu
2006-12-21  1:12                                       ` Matthew Garrett
2006-12-21  2:05                                         ` Michael Wu
2006-12-21  2:18                                           ` Matthew Garrett
2006-12-21  2:38                                             ` Daniel Drake
2006-12-21  2:45                                               ` Matthew Garrett
2006-12-21  3:08                                                 ` Daniel Drake
2006-12-21  3:25                                                   ` Matthew Garrett
2006-12-21  3:37                                                     ` Dan Williams
2006-12-21  3:29                                                   ` Dan Williams
2006-12-21  3:14                                             ` Dan Williams
2006-12-21 13:14                                               ` jamal
2006-12-21  2:29                                         ` Daniel Drake
2006-12-21  2:10                                     ` Jesse Brandeburg
2006-12-21  8:54                                       ` Arjan van de Ven
2006-12-22  1:03                                   ` Herbert Xu
2006-12-23  8:54                                   ` Pavel Machek
2006-12-20 15:27                                 ` Olivier Galibert
2006-12-20 15:34                                   ` Arjan van de Ven
2006-12-20 16:40                                     ` Olivier Galibert
2006-12-20 17:21                                       ` Arjan van de Ven
2006-12-20 20:40                                         ` Benny Amorsen
2006-12-20 21:49                                           ` Arjan van de Ven
2006-12-20 21:15                                     ` Stefan Rompf
2006-12-20 14:00                               ` Jiri Benc
2006-12-20 18:12                                 ` Dan Williams
2006-12-21  1:15                                   ` Matthew Garrett
2006-12-21  1:57                                     ` Michael Wu
2006-12-21  2:20                                       ` Matthew Garrett
2006-12-21  3:02                                         ` Dan Williams
2006-12-21  3:06                                     ` Dan Williams
2006-12-21  3:14                                       ` Matthew Garrett
2006-12-21  3:32                                         ` Dan Williams
2006-12-21 13:19                                           ` Sven-Haegar Koch
2006-12-21 17:16                                             ` Dan Williams
2006-12-21 18:27                                       ` Valdis.Kletnieks
2006-12-22  1:25                                         ` Matt Domsch
2006-12-20 16:04                               ` Maciej W. Rozycki
2006-12-22 21:09                       ` Changes to PM layer break userspace Pavel Machek
2006-12-24  7:02                         ` David Brownell
2006-12-28 13:31                           ` Alan
2006-12-28 16:04                             ` Arjan van de Ven
2006-12-29  5:27                             ` David Brownell
2006-12-20  2:15               ` Changes to sysfs " Andrew Morton
2006-12-20  2:35                 ` Randy Dunlap
2006-12-20  3:49                   ` Andrew Morton
2006-12-20  3:29                 ` David Brownell
2006-12-21  3:51                   ` Andrew Morton
2006-12-21  4:56                     ` David Brownell
2006-12-21  5:02                       ` Andrew Morton
2006-12-21  7:05                         ` David Brownell
2006-12-21  8:27                         ` Arjan van de Ven
2006-12-22 20:44     ` Pavel Machek
2006-12-23 14:02       ` Stefan Seyfried
2006-12-19 21:22 ` David Brownell
2006-12-19 22:57   ` Matthew Garrett
2006-12-19 23:36     ` Changes to " David Brownell
2006-12-20  0:09       ` Matthew Garrett
2006-12-20  3:19         ` David Brownell
2006-12-20  3:43           ` Matthew Garrett
2006-12-20  4:15             ` David Brownell
2006-12-20  4:56               ` [PATCH 1/2] Fix /sys/device/.../power/state Matthew Garrett
2006-12-20 21:18                 ` David Brownell
2006-12-21  1:29                   ` Matthew Garrett
2006-12-21  3:04                     ` David Brownell
2006-12-21  4:06                       ` Matthew Garrett
2006-12-21  4:51                         ` David Brownell
2007-01-25  5:00                         ` [PATCH] Fix /sys/device/.../power/state regression Matthew Garrett
2007-01-26 19:59                           ` Andrew Morton
2007-01-26 20:42                             ` Greg KH
2007-01-27  1:26                               ` Matthew Garrett
2007-01-27 17:19                             ` Pavel Machek
2007-01-26 20:41                           ` Greg KH
2007-01-26 21:56                             ` David Brownell
2007-01-26 22:19                               ` Greg KH
2007-01-26 23:15                               ` Matthew Garrett
2007-01-27  0:42                                 ` David Brownell
2007-01-27  0:56                                   ` Andrew Morton
2007-01-27  2:40                                     ` David Brownell
2007-01-27 17:38                                     ` Pavel Machek
2007-01-27 22:42                                       ` Matthew Garrett
2007-01-31 10:34                                         ` Pavel Machek
2007-01-27  1:19                                   ` Matthew Garrett
2007-01-27  3:02                                     ` David Brownell
2007-01-29 17:36                                       ` Stephen Hemminger
2007-01-27 13:17                           ` Pavel Machek
2007-01-30 18:43                             ` Eric Piel
2007-01-30 18:47                               ` Oliver Neukum
2007-01-30 19:01                                 ` Eric Piel
2007-01-31 10:55                                 ` Jiri Kosina
2007-01-31 11:03                                   ` Oliver Neukum
2006-12-20  4:56               ` [PATCH 2/2] Update feature-removal-schedule.txt Matthew Garrett
2006-12-22 20:47         ` Changes to PM layer break userspace Pavel Machek
  -- strict thread matches above, loose matches on Subject: below --
2006-12-21  5:25 Network drivers that don't suspend on interface down David Brownell
2006-12-21  7:08 ` Stephen Hemminger
2006-12-21  8:11   ` David Brownell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20061220143134.GA25462@srcf.ucam.org \
    --to=mjg59@srcf.ucam.org \
    --cc=arjan@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox