LKML Archive on lore.kernel.org
 help / color / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Nigel Cunningham <nigel@nigel.suspend2.net>,
	Pekka J Enberg <penberg@cs.helsinki.fi>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: Back to the future.
Date: Fri, 27 Apr 2007 18:12:04 -0700 (PDT)
Message-ID: <alpine.LFD.0.98.0704271801020.9964@woody.linux-foundation.org> (raw)
In-Reply-To: <200704280300.22604.rjw@sisk.pl>



On Sat, 28 Apr 2007, Rafael J. Wysocki wrote:
> 
> > It's doubly bad, because that idiocy has also infected s2ram. Again, 
> > another thing that really makes no sense at all - and we do it not just 
> > for snapshotting, but for s2ram too. Can you tell me *why*?
> 
> Why we freeze tasks at all or why we freeze kernel threads?

In many ways, "at all".

I _do_ realize the IO request queue issues, and that we cannot actually do 
s2ram with some devices in the middle of a DMA. So we want to be able to 
avoid *that*, there's no question about that. And I suspect that stopping 
user threads and then waiting for a sync is practically one of the easier 
ways to do so.

So in practice, the "at all" may become a "why freeze kernel threads?" and 
freezing user threads I don't find really objectionable.

But as Paul pointed out, Linux on the old powerpc Mac hardware was 
actually rather famous for having working (and reliable) suspend long 
before it worked even remotely reliably on PC's. And they didn't do even
that.

(They didn't have ACPI, and they had a much more limited set of devices, 
but the whole process freezer is really about neither of those issues. The 
wild and wacky PC hardware has its problems, but that's _one_ thing we 
can't blame PC hardware for ;)

> > 	git grep create_freezeable_workthread
> 
> s/workthread/workqueue/

Yes.

> > and ponder the end results of that grep. If you don't see something wrong, 
> > you're blind.
> 
> This was a mistake, quite unrelated to the point you're making.

Did you actually _do_ the "grep" (with the fixed argument)?

I had two totally independent points. #1 was that you yourself have been 
fixing bugs in this area. #2 was the result of that grep. It's absolutely 
_empty_ except for the define to add that interface.

NOBODY USES IT!

Now, grep for the same interface that creates _non_freezeable workqueues.

Put another way:

	[torvalds@woody linux]$ git grep create_workqueue | wc -l
	35

	[torvalds@woody linux]$ git grep create_freezeable_workqueue | wc -l
	1

and that _one_ hit you get for the "freezeable" case is not actually a 
user, it's the definition!

Ie my point is, nobody wants freezeable kernel threads. Absolutely nobody.

Yet we have all this support for freezing them (or rather, we freeze them 
by default, and then we have all this support for _not_ doing that wrong 
default thing!)

So yes, I think it would be interesting to just stop freezing kernel 
threads. Totally.

		Linus

  reply index

Thread overview: 136+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-26  6:04 Nigel Cunningham
2007-04-26  7:28 ` Pekka Enberg
     [not found]   ` <1177573348.50 25.224.camel@nigel.suspend2.net>
2007-04-26  7:42   ` Nigel Cunningham
2007-04-26  8:17     ` Pekka Enberg
2007-04-26  9:28       ` Nigel Cunningham
2007-04-26 17:29         ` Luca Tettamanti
2007-04-26 16:56     ` Linus Torvalds
2007-04-26 17:03       ` Xavier Bestel
2007-04-26 17:34         ` Linus Torvalds
2007-04-26 20:08           ` Nigel Cunningham
2007-04-26 20:45             ` Linus Torvalds
2007-04-26 20:50               ` Nigel Cunningham
2007-04-27  0:10                 ` Olivier Galibert
2007-04-27 10:21                   ` Daniel Pittman
2007-04-27 23:19                   ` Nigel Cunningham
2007-04-26 21:38             ` Theodore Tso
2007-04-27 10:10               ` Christoph Hellwig
2007-04-26 22:08             ` Rafael J. Wysocki
2007-04-26 22:20               ` Nigel Cunningham
2007-04-26 23:15               ` Linus Torvalds
2007-04-27  7:51           ` Pekka Enberg
2007-04-26 17:07       ` Linus Torvalds
2007-04-26 18:22       ` Chase Venters
2007-04-26 18:50         ` David Lang
2007-04-26 19:56       ` Nigel Cunningham
2007-04-27  4:52         ` Pekka J Enberg
2007-04-27  6:08           ` Nigel Cunningham
2007-04-27  6:18             ` Pekka J Enberg
2007-04-27  6:29               ` Pekka J Enberg
2007-04-27  6:34               ` Nigel Cunningham
2007-04-27  6:50                 ` Pekka J Enberg
2007-04-27  7:03                   ` Nigel Cunningham
2007-04-27  7:24                     ` Pekka J Enberg
2007-04-27  9:50               ` Oliver Neukum
2007-04-27 10:12                 ` Pekka J Enberg
2007-04-27 19:07                   ` Oliver Neukum
2007-04-28  9:22                     ` Pekka Enberg
2007-04-28 13:37                       ` Oliver Neukum
2007-05-03 12:06                         ` Pavel Machek
2007-05-04 21:52                           ` Indan Zupancic
2007-05-05  9:16                             ` Pavel Machek
2007-05-05 12:02                               ` Indan Zupancic
2007-04-28 10:35                   ` Rafael J. Wysocki
2007-04-28 18:43                     ` David Lang
2007-04-28 19:37                       ` Rafael J. Wysocki
2007-04-27 21:24               ` Rafael J. Wysocki
2007-04-27 21:44                 ` Linus Torvalds
2007-04-27 22:04                   ` Rafael J. Wysocki
2007-04-27 22:08                     ` Linus Torvalds
2007-04-27 22:41                       ` Rafael J. Wysocki
2007-04-27 22:26                         ` David Lang
2007-04-27 23:21                           ` Rafael J. Wysocki
2007-04-27 23:01                             ` David Lang
2007-04-28  0:02                               ` Rafael J. Wysocki
2007-04-27 23:17                         ` Linus Torvalds
2007-04-27 23:45                           ` Rafael J. Wysocki
2007-04-27 23:57                             ` Nigel Cunningham
2007-04-27 23:50                               ` David Lang
2007-04-28  0:40                                 ` Linus Torvalds
2007-04-28  6:58                                 ` Oliver Neukum
2007-04-28  9:16                                   ` Pekka J Enberg
2007-04-28 18:28                                   ` David Lang
2007-05-03 17:18                                 ` Pavel Machek
2007-05-07  2:13                                   ` David Lang
2007-05-07  3:33                                     ` Kyle Moffett
2007-05-07 12:48                                     ` Pavel Machek
2007-05-07 12:52                                       ` Oliver Neukum
2007-05-07 14:37                                         ` david
2007-05-07 19:51                                           ` Pavel Machek
2007-05-07 19:55                                             ` david
2007-05-07 20:38                                               ` Pavel Machek
2007-05-08 17:36                                                 ` Disconnect
2007-04-27 23:59                             ` Linus Torvalds
2007-04-28  0:18                               ` Linus Torvalds
2007-05-05 11:42                                 ` Pavel Machek
2007-04-28  0:50                               ` Paul Mackerras
2007-04-28  1:00                               ` Rafael J. Wysocki
2007-04-28  1:12                                 ` Linus Torvalds [this message]
2007-04-28  0:54                                   ` David Lang
2007-04-28  1:44                                   ` Rafael J. Wysocki
2007-04-28  2:51                                     ` Daniel Hazelton
2007-04-28  7:00                                       ` progress meter in s2disk (was Re: Back to the future.) Pavel Machek
2007-04-28  8:50                                     ` Back to the future Pavel Machek
2007-04-28  9:24                                       ` Rafael J. Wysocki
2007-04-28 16:28                                       ` Linus Torvalds
2007-04-28 17:50                                         ` Rafael J. Wysocki
2007-04-28 21:25                                           ` Linus Torvalds
2007-04-28 23:03                                             ` Rafael J. Wysocki
2007-04-28 23:45                                               ` Linus Torvalds
2007-04-29  0:01                                                 ` Nigel Cunningham
2007-04-29  5:01                                                   ` Bojan Smojver
2007-04-29  3:43                                                 ` Kyle Moffett
2007-04-29  8:57                                                 ` Rafael J. Wysocki
2007-04-29  8:59                                                   ` Pavel Machek
2007-04-29  9:32                                                     ` Rafael J. Wysocki
2007-04-29  8:23                                             ` Pavel Machek
2007-04-29  9:22                                               ` Rafael J. Wysocki
2007-04-28 18:32                                       ` David Lang
2007-04-28 19:14                                         ` Rafael J. Wysocki
2007-04-28 18:44                                           ` David Lang
2007-05-03 15:25                           ` Pavel Machek
2007-04-27 22:07                   ` Nigel Cunningham
2007-04-28  1:03                     ` Kyle Moffett
2007-04-28  1:15                       ` Rafael J. Wysocki
2007-04-28  0:51                         ` David Lang
2007-04-28  1:25                         ` Kyle Moffett
2007-05-03 15:10                       ` Pavel Machek
2007-05-03 16:53                         ` Kyle Moffett
2007-05-04  7:52                           ` David Greaves
2007-05-04 13:27                             ` Kyle Moffett
2007-04-28  0:18                   ` Jeremy Fitzhardinge
2007-04-28  1:00                     ` Matthew Garrett
2007-04-28  1:05                       ` Jeremy Fitzhardinge
2007-05-03 15:14                         ` Pavel Machek
2007-06-01 19:00                           ` Eric W. Biederman
2007-04-28  1:08                       ` Rafael J. Wysocki
2007-04-27 20:44           ` Rafael J. Wysocki
2007-04-28 19:09         ` Bill Davidsen
2007-04-26 22:40       ` Pavel Machek
2007-04-27  5:41         ` Pekka Enberg
2007-04-27 14:55           ` Pavel Machek
2007-04-27 21:39             ` Nigel Cunningham
2007-04-26 22:42       ` Pavel Machek
2007-04-26 22:24         ` David Lang
2007-04-26 23:12           ` Pavel Machek
2007-04-26 22:49             ` David Lang
2007-04-26 23:27               ` Pavel Machek
2007-04-26 22:56                 ` David Lang
2007-04-27  0:23               ` Olivier Galibert
2007-04-27 12:49       ` Pavel Machek
2007-04-27 21:26         ` Rafael J. Wysocki
2007-04-27 22:12           ` David Lang
2007-04-26  8:38 ` Jan Engelhardt
2007-04-26  9:33   ` Nigel Cunningham
2007-04-28  0:28 ` Bojan Smojver
     [not found] <8e5l8-7SD-21@gated-at.bofh.it>
     [not found] ` <8e6Ka-1uR-3@gated-at.bofh.it>
     [not found]   ` <8e6TS-1Id-11@gated-at.bofh.it>
     [not found]     ` <8efu9-6mF-1@gated-at.bofh.it>
     [not found]       ` <8ekWV-6FF-33@gated-at.bofh.it>
     [not found]         ` <8el6y-6Sj-5@gated-at.bofh.it>
     [not found]           ` <8elpT-7wY-21@gated-at.bofh.it>
2007-04-28 11:04             ` Bodo Eggert

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=alpine.LFD.0.98.0704271801020.9964@woody.linux-foundation.org \
    --to=torvalds@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nigel@nigel.suspend2.net \
    --cc=penberg@cs.helsinki.fi \
    --cc=rjw@sisk.pl \
    /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

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git
	git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git
	git clone --mirror https://lore.kernel.org/lkml/8 lkml/git/8.git
	git clone --mirror https://lore.kernel.org/lkml/9 lkml/git/9.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \
		linux-kernel@vger.kernel.org
	public-inbox-index lkml

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git