All of lore.kernel.org
 help / color / mirror / Atom feed
From: Willy Tarreau <w@1wt.eu>
To: Nigel Cunningham <nigel@nigel.suspend2.net>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>, Pavel Machek <pavel@ucw.cz>,
	Arjan van de Ven <arjan@infradead.org>,
	LKML <linux-kernel@vger.kernel.org>,
	tilman@imap.cc
Subject: Re: NAK new drivers without proper power management?
Date: Sun, 11 Feb 2007 07:46:36 +0100	[thread overview]
Message-ID: <20070211064636.GA12171@1wt.eu> (raw)
In-Reply-To: <1171147026.19894.16.camel@nigel.suspend2.net>

Hi Nigel,

On Sun, Feb 11, 2007 at 09:37:06AM +1100, Nigel Cunningham wrote:
> On Sat, 2007-02-10 at 23:20 +0100, Rafael J. Wysocki wrote:
(...)
> > What about this:
> > 
> > "If the device requires that, implement .suspend and .resume or at least
> > define .suspend that will always return -ENOSYS (then people will know they
> > have to unload the driver before the suspend).  Similarly, if you aren't sure
> > whether or not the device requires .suspend and .resume, define .suspend that
> > will always return -ENOSYS."
> 
> If your device requires power management, and you know it requires power
> management, why not just implement power management? Doing -ENOSYS
> instead is like saying -ESPAMMEBECAUSEIMLAZY.

No, it means "Not implemented because I don't want to screw that driver with
something I'm not expert in". And it also means "Other people will quickly
notice it and will know how to fix this if they really need it".

> Let me put it another way: People keep talking about Linux being ready
> for the desktop. To me at least (but I dare say for lots of other people
> too), being ready for the desktop means that things just work, without
> having to recompile kernels or bug driver authors or wait twelve
> months. 

It's *one* usage of Linux. For this usage, you could also suggest to stop
supporting UP kernels and always build everything with SMP enabled since
more and more often, people will use multi-core systems. It will exempt
the users from upgrading their kernels when they replace their CPU. We
could also try to chase down all the drivers which do not correctly behave
when the CPU switches to a lower frequency.

> And it means that doing a bare minimum isn't enough. We keep claiming
> that Open Source is better than Proprietary software. If we accept
> half-pie jobs of implementing support for anything - driver power
> management support or hibernation support or whatever - as 'good
> enough', we're undercutting that argument. Linux's power management
> support should - as far as we're able - be at least as good as that
> other operating system's and preferably way, way better.
> 
> -ENOSYS is just not acceptable.

Nigel, don't take it as a personal offense, but I think it is a very
centric view of Linux usages. Where I work, Linux is used a lot on
servers and appliances. It is used for mail relays, HTTP proxies,
anti-viruses, firewalls, routers, load balancers, UTM, SSH relays,
etc... Nobody would ever want to enable power management on those
machines, let alone suspend which would cause a major havoc, would
the system decide to enter suspend for any reason.

Many people also have Linux on their notebooks, but as a dual-boot. You
read the word ? "dual-boot". It means that they cleanly shutdown their
system every time they don't use it anymore, and they won't know what
OS they'll use next time.

I've never heard anyone there complaining "oh, I'm fed up with this
boring boot, I always have to wait 30 seconds when I need to do
something, I wish I could suspend and resume". It is considered the
normal way of using their PCs.

So globally, those hundreds of notebooks, workstations and servers
will not be customers of the suspend code any time soon. It would
be a shame to deprive them from working drivers. You must just
accept that a lot of people are not interested in your work. It's
the same for all of us here. I know that a lot of people are not
interested in 2.4 anymore and I'm perfectly fine with that. I'm
not asking 2.6 driver authors to ensure that their driver is easy
to backport for instance.

What I really think would be a clean solution would be sort of
a capability. Either the driver *is* suspend/resume-capable, and
the system can be suspended. Or it is not, and the system must
refuse to suspend. It should not be a problem to proceed like
this because drivers which will not support suspend will mainly
be those which will not have to. And if a user occasionnaly
complains that one driver does not support it, at least you will
have a good argument against its author to implement suspend.

Best regards,
Willy


  parent reply	other threads:[~2007-02-11  6:47 UTC|newest]

Thread overview: 116+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-09 21:57 NAK new drivers without proper power management? Nigel Cunningham
2007-02-09 22:17 ` Arjan van de Ven
2007-02-09 22:26   ` Nigel Cunningham
2007-02-09 22:44     ` Rafael J. Wysocki
2007-02-09 22:44       ` Rafael J. Wysocki
2007-02-09 22:51       ` Nigel Cunningham
2007-02-09 22:51         ` Nigel Cunningham
2007-02-09 23:12         ` Rafael J. Wysocki
2007-02-09 23:12           ` Rafael J. Wysocki
2007-02-09 23:28           ` Nigel Cunningham
2007-02-09 23:28             ` Nigel Cunningham
2007-02-10  0:12             ` Rafael J. Wysocki
2007-02-10  0:12               ` Rafael J. Wysocki
2007-02-10  0:25     ` Jeff Garzik
2007-02-10  6:43       ` Willy Tarreau
2007-02-10 23:52         ` Tilman Schmidt
2007-02-10  7:15     ` Arjan van de Ven
2007-02-10 19:38   ` Pavel Machek
2007-02-10 22:20     ` Rafael J. Wysocki
2007-02-10 22:37       ` Nigel Cunningham
2007-02-10 23:45         ` Tilman Schmidt
2007-02-11  0:27           ` Rafael J. Wysocki
2007-02-11 22:41             ` Nigel Cunningham
2007-02-13 15:55               ` Mark Lord
2007-02-13 16:06                 ` Christoph Hellwig
2007-02-11 22:37           ` Nigel Cunningham
2007-02-12  0:10             ` Tilman Schmidt
2007-02-12  0:20               ` Rafael J. Wysocki
2007-02-12  4:08               ` Nigel Cunningham
2007-02-12 20:06                 ` Rafael J. Wysocki
2007-02-12 22:38                   ` Nigel Cunningham
2007-03-03 22:48               ` Suspend/resume semantics for ISDN drivers (was: NAK new drivers without proper power management?) Tilman Schmidt
2007-03-04 19:04                 ` Rafael J. Wysocki
2007-03-08 23:35                   ` Pavel Machek
2007-02-11  6:46         ` Willy Tarreau [this message]
2007-02-11 13:04           ` NAK new drivers without proper power management? Rafael J. Wysocki
2007-02-11 22:47           ` Nigel Cunningham
2007-02-11 22:57             ` Manu Abraham
2007-02-11 23:20               ` Nigel Cunningham
2007-02-11 23:25                 ` Manu Abraham
2007-02-11 23:29                   ` Pavel Machek
2007-02-11 23:33                   ` Nigel Cunningham
2007-02-12 16:52                     ` Pavel Machek
2007-02-12 20:31                       ` Rafael J. Wysocki
2007-02-12 20:58                         ` Pavel Machek
2007-02-12 21:01                           ` Rafael J. Wysocki
2007-02-12 21:24                             ` Nigel Cunningham
2007-02-12 21:43                               ` Rafael J. Wysocki
2007-02-13  9:42                         ` Tilman Schmidt
2007-02-13 19:24                           ` Rafael J. Wysocki
2007-02-14 23:45                             ` Stefan Richter
2007-02-12  9:45                   ` Arjan van de Ven
2007-02-12 12:59           ` Gerhard Mack
2007-02-12 20:20             ` Willy Tarreau
2007-02-13 15:23               ` Brad Campbell
2007-02-12 20:46             ` Rafael J. Wysocki
2007-02-12 13:51           ` Tino Keitel
2007-02-11 19:42       ` Pavel Machek
2007-02-11 21:02         ` Alan
2007-02-11 23:04           ` Rafael J. Wysocki
2007-02-12  0:28             ` Alan
2007-02-12  0:24               ` Rafael J. Wysocki
2007-02-11 23:10           ` Nigel Cunningham
2007-02-11 23:16             ` Rafael J. Wysocki
2007-02-11 23:22               ` Nigel Cunningham
2007-02-11 23:23                 ` Pavel Machek
2007-02-11 23:21             ` Pavel Machek
2007-02-11 23:29               ` Nigel Cunningham
2007-02-11 22:21         ` Tilman Schmidt
2007-02-12  8:49       ` Geert Uytterhoeven
2007-02-12 15:04         ` Pavel Machek
2007-02-12 15:57           ` Geert Uytterhoeven
2007-02-12 16:55             ` Pavel Machek
2007-02-12 20:38             ` Nigel Cunningham
2007-02-13 10:02             ` Tilman Schmidt
2007-02-10  3:42 ` Matthew Garrett
2007-02-10  4:42   ` Nigel Cunningham
     [not found] <fa.xSKPgY66Q+DPCZ1pszFFfdrJ0To@ifi.uio.no>
     [not found] ` <fa.FzHdYYYH5Ru57c8/yRxLylpH0Kk@ifi.uio.no>
     [not found]   ` <fa.DuG12yQo+RR4jIjJTnoOwtKM0Ao@ifi.uio.no>
     [not found]     ` <fa.Jy0FJQtASvVEpsy8Q96uoHtyEVA@ifi.uio.no>
2007-02-10  1:50       ` Robert Hancock
2007-02-10  1:59         ` Lee Revell
2007-02-10  2:09           ` Nigel Cunningham
2007-02-10  2:22             ` Lee Revell
2007-02-10  3:21               ` Kevin Fox
2007-02-10 20:40               ` Adrian Bunk
2007-02-10  4:35           ` Joseph Fannin
2007-02-13 21:08             ` Pavel Machek
2007-02-10 12:47           ` Stefan Richter
2007-02-10  2:05         ` Nigel Cunningham
2007-02-10  3:27           ` Dmitry Torokhov
2007-02-10  4:18             ` Nigel Cunningham
     [not found]   ` <fa.DhkemAgVI60diqZy0t9GzpwyLmk@ifi.uio.no>
     [not found]     ` <fa.E/NjHlgg0HqDg5CgZjnCHFi2AMM@ifi.uio.no>
     [not found]       ` <fa.kop49l/7yexJoUGrzk6vVeIP934@ifi.uio.no>
2007-02-10 23:20         ` Robert Hancock
2007-02-11  0:44           ` Rafael J. Wysocki
2007-02-11 17:01             ` Pavel Machek
2007-02-11 22:40             ` Nigel Cunningham
2007-02-11 23:29               ` Rafael J. Wysocki
2007-02-11 23:40                 ` Nigel Cunningham
     [not found]         ` <fa.EgQN5JpU6xrZSLyOY0kWjJ26hUM@ifi.uio.no>
2007-02-11 18:31           ` Robert Hancock
2007-02-11 21:52             ` Willy Tarreau
2007-02-11 22:26               ` Nigel Cunningham
2007-02-11 22:46                 ` Willy Tarreau
2007-02-11 23:18                   ` Nigel Cunningham
2007-02-11 23:38                     ` Willy Tarreau
2007-02-11 23:45                       ` Nigel Cunningham
2007-02-12  0:26                       ` Alan
2007-02-12  5:19                         ` Willy Tarreau
2007-02-12 20:20                           ` Rafael J. Wysocki
2007-02-12 22:36                           ` Nigel Cunningham
2007-02-11 23:23                   ` Alan
2007-02-11 23:38                   ` Rafael J. Wysocki
2007-02-11 23:41                 ` Rafael J. Wysocki
2007-02-11 23:47                   ` Nigel Cunningham
2007-02-11 23:50                     ` Rafael J. Wysocki
2007-02-11 23:55                       ` Nigel Cunningham
2007-02-12  0:09                         ` Rafael J. Wysocki
2007-02-12  0:15                           ` Nigel Cunningham
2007-02-12 12:19               ` Pavel Machek
     [not found]         ` <fa.O1YH4k5KtBGCNs5i2yB17bPvPGw@ifi.uio.no>
     [not found]           ` <fa.RfzClbTP/7B79AoEbQLNj3ABfIk@ifi.uio.no>
     [not found]             ` <fa.AaJ/ugmiUmPO8uC+y1rS9JLuuMc@ifi.uio.no>
2007-02-12  0:59               ` Robert Hancock

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=20070211064636.GA12171@1wt.eu \
    --to=w@1wt.eu \
    --cc=arjan@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nigel@nigel.suspend2.net \
    --cc=pavel@ucw.cz \
    --cc=rjw@sisk.pl \
    --cc=tilman@imap.cc \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.