public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Rene Herman <rene.herman@gmail.com>
To: Bodo Eggert <7eggert@gmx.de>
Cc: Matt Mackall <mpm@selenic.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	Jesper Juhl <jesper.juhl@gmail.com>,
	Ray Lee <ray-lk@madrabbit.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	William Lee Irwin III <wli@holomorphy.com>,
	David Chinner <dgc@sgi.com>,
	Arjan van de Ven <arjan@infradead.org>
Subject: Re: [PATCH][RFC] 4K stacks default, not a debug thing any more...?
Date: Tue, 17 Jul 2007 00:28:20 +0200	[thread overview]
Message-ID: <469BF104.1040703@gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0707161523500.25779@be1.lrz>

On 07/16/2007 03:43 PM, Bodo Eggert wrote:

> So we are in a desperate situation, we can almost make no progress,
> adding another task is going to push the system into an unrecoverable
> situation, and we make sure this task can be started.-)

Hnng. He was just saying that odds of two pages being buddies is quite 
small, not talking about literally two pages.

>> Moreoveover -- literally two pages free was hardly his point. The point is 
>> just that (with a page being the allocation unit) single page allocations 
>> are guaranteed to succeed if _any_ memory is free, while two adjacent (yes, 
>> and stacksize aligned) pages will be pretty hard to get by once the system 
>> has been up and running for some time.
> 
> That never happened on my servers, therefore I'd opt for the little extra 
> security of having spare 4k on the stack. (I made a patch which would 
> printk a message if allocating a stack would ever fail).
> 
> I'm not at all opposed to letting the guys with zillions of threads 
> benefit from having less unused kernel stack, but unless it's secure for
> all users, it should not be default=y.

Given that as Arjan stated Fedora and even RHEL have been using 4K stacks 
for some time now, and certainly the latter being a distribution which I 
would expect to both host a relatively large number of lvm/md/xfs and what 
stackeaters have you users and to be fairly conservative with respect to the 
chances of scribbling over kernel memory (I'm a trusting person...) it seems 
  there might at this stage only be very few offenders left.

Seeing as how single-page stacks are much easier on the VM so that creating 
those zillion threads should also be faster, at _some_ percentage we get to 
say "and now to hell with the rest".

Do also note that with interrupts of the process stack, available stack is 
definitely not halved. I don't have data (if anyone reading does, please 
say) but I expect that on the kinds of busy networked systems that want 
many-thread creation to be fastest, their many concurrent interrupt sources 
might mean they are not actually experiencing less stack at all. That is, 
that "little extra security" you speak of might very well be none at all in 
practice and perhaps even negative.

Getting interrupts onto their own stack(s) certainly made for better (more 
deterministic that is) behaviour as well -- you're then independent on how 
deep into the stack you already are when the interrupt comes in which is 
otherwise anyone's guess. Now I must say I'm not particularly sure why you 
couldn't still also have those even if you don't pick 4K stacks, but as far 
as I'm aware they're a package deal at least today.

Single page stacks are much nicer on anyone. For all I care, that single 
page migth be a larger soft-page. No idea how the hell you'd investigate the 
optimum page-size for any given system, but I quite fully expect it's larger 
than 4K these days _anyway_ even on x86 and for modern loads.

Since Linux doesn't yet have those that's also not very important currently 
though. 4K is 1024 32-bit datums which isn't all that little if recursion is 
limited and programmers somewhat competent. With the interrupt stacks 
meaning available stack might not be worse or even _better_ for some 
systems, well, I's argue to just go with 4K if at all possible.

Rene.


  reply	other threads:[~2007-07-16 22:29 UTC|newest]

Thread overview: 105+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <8FO1e-2jW-35@gated-at.bofh.it>
     [not found] ` <8FYWD-2eS-7@gated-at.bofh.it>
     [not found]   ` <8GdsH-8dc-13@gated-at.bofh.it>
     [not found]     ` <8Ghmx-60z-17@gated-at.bofh.it>
     [not found]       ` <8Gj55-hJ-5@gated-at.bofh.it>
     [not found]         ` <8GkNo-2Vb-1@gated-at.bofh.it>
     [not found]           ` <8GtnN-7TG-23@gated-at.bofh.it>
     [not found]             ` <8GVjY-PL-25@gated-at.bofh.it>
2007-07-15 17:17               ` [PATCH][RFC] 4K stacks default, not a debug thing any more...? Bodo Eggert
2007-07-15 17:35                 ` Arjan van de Ven
2007-07-15 18:32                   ` Måns Rullgård
2007-07-15 17:46                 ` Rene Herman
2007-07-16 13:43                   ` Bodo Eggert
2007-07-16 22:28                     ` Rene Herman [this message]
2007-07-16 22:37                       ` Ray Lee
2007-07-16 22:54                         ` Alan Cox
2007-07-16 22:53                           ` Ray Lee
2007-07-16 23:05                             ` Rene Herman
2007-07-16 23:15                               ` Ray Lee
2007-07-18  0:14                                 ` Alan Cox
2007-07-18  6:39                                   ` Ray Lee
2007-07-17 17:01                           ` William Lee Irwin III
2007-07-17 23:39                             ` Jesper Juhl
2007-07-18  0:22                               ` Rene Herman
2007-07-16 22:54                         ` Jesper Juhl
2007-07-16 23:01                           ` Rene Herman
2007-07-16 23:42                           ` Bodo Eggert
2007-07-16 23:51                             ` Jesper Juhl
2007-07-19 19:34                             ` Denis Vlasenko
2007-07-19 20:04                               ` Bodo Eggert
2007-07-16 22:55                         ` Rene Herman
2007-07-16 23:07                           ` Matt Mackall
2007-07-16 23:12                             ` Rene Herman
2007-07-16 23:27                               ` Matt Mackall
2007-07-16 23:32                                 ` Rene Herman
2007-07-18  2:38                                 ` Rene Herman
2007-07-18 16:54                                   ` Matt Mackall
2007-07-18 17:17                                     ` Rene Herman
2007-07-19  0:15                                 ` Andrea Arcangeli
2007-07-19  0:39                                   ` Alan Cox
2007-07-19  1:33                                     ` Andrea Arcangeli
2007-07-19  1:37                                       ` Matt Mackall
2007-07-19  1:56                                         ` Rene Herman
2007-07-19 11:24                                         ` Andrea Arcangeli
2007-07-19 11:44                                           ` Alan Cox
2007-07-27 13:02                                             ` Eric Sandeen
2007-07-27 17:38                                               ` Alan Cox
2007-07-27 18:31                                                 ` Satyam Sharma
2007-08-01  3:53                                                   ` Eric Sandeen
2007-08-01  8:11                                                     ` Dan Merillat
2007-08-01 10:04                                                       ` Neil Brown
2007-08-10  4:51                                                         ` Dan Merillat
2007-08-10  4:59                                                           ` Neil Brown
2007-08-01 13:33                                                       ` Andrea Arcangeli
2007-08-01 15:44                                                         ` Alan Cox
2007-08-10  1:03                                                           ` Dan Merillat
2007-07-19  9:23                                       ` Alan Cox
2007-07-19 10:52                                         ` Andrea Arcangeli
2007-07-27 13:03                                     ` Eric Sandeen
2007-07-27 17:18                                       ` Krzysztof Halasa
2007-07-19  0:41                                   ` Matt Mackall
2007-07-19  0:48                                     ` Rene Herman
2007-07-19  1:28                                       ` Matt Mackall
2007-07-16 23:13                           ` Ray Lee
2007-07-16 23:22                             ` Rene Herman
2007-07-16 23:35                               ` Jesper Juhl
2007-07-16 23:40                               ` Ray Lee
2007-07-17  0:57                                 ` Rene Herman
2007-07-17 16:14                                   ` Shawn Bohrer
2007-07-17 16:52                                     ` Rene Herman
2007-07-17 17:45                                       ` Zan Lynx
2007-07-18  0:16                                     ` Alan Cox
2007-07-16 23:45                           ` Bodo Eggert
2007-07-17  0:28                             ` Rene Herman
2007-07-17 10:06                               ` Bodo Eggert
2007-07-17 14:38                                 ` Rene Herman
2007-07-17 23:19                                   ` Bodo Eggert
2007-07-17 23:29                                     ` Arjan van de Ven
2007-07-19 17:20                                       ` Bodo Eggert
2007-07-17 23:57                                     ` Rene Herman
2007-07-19 17:05                                       ` Bodo Eggert
2007-07-16 23:26                       ` utz lehmann
2007-07-16 23:39                         ` Måns Rullgård
2007-07-17  1:00                         ` Rene Herman
2007-07-17 14:45                         ` John Stoffel
2007-07-17 23:46                           ` utz lehmann
     [not found] <8HfVl-71J-15@gated-at.bofh.it>
     [not found] ` <8Hgoq-7Cd-21@gated-at.bofh.it>
     [not found]   ` <8Hz7K-38K-37@gated-at.bofh.it>
     [not found]     ` <8HHeZ-7R1-21@gated-at.bofh.it>
     [not found]       ` <8HHoA-835-21@gated-at.bofh.it>
     [not found]         ` <8HHI2-8r2-27@gated-at.bofh.it>
     [not found]           ` <8HI1k-Dn-25@gated-at.bofh.it>
     [not found]             ` <8HIb2-PD-11@gated-at.bofh.it>
     [not found]               ` <8HIun-1e7-33@gated-at.bofh.it>
     [not found]                 ` <8HJA3-2Nq-9@gated-at.bofh.it>
     [not found]                   ` <8HXWo-8t2-17@gated-at.bofh.it>
     [not found]                     ` <8HYzd-PZ-25@gated-at.bofh.it>
     [not found]                       ` <8HZlt-27o-7@gated-at.bofh.it>
2007-07-18  8:37                         ` Nick Craig-Wood
     [not found]           ` <8HHRD-rK-19@gated-at.bofh.it>
     [not found]             ` <8HI1j-Dn-21@gated-at.bofh.it>
     [not found]               ` <8HIb2-PD-5@gated-at.bofh.it>
     [not found]                 ` <8IrUr-4SZ-9@gated-at.bofh.it>
     [not found]                   ` <8IsdO-5g4-7@gated-at.bofh.it>
     [not found]                     ` <8It9R-6Eb-3@gated-at.bofh.it>
     [not found]                       ` <8IAkZ-WW-1@gated-at.bofh.it>
2007-07-19 13:37                         ` Bodo Eggert
     [not found] <8IdHQ-7Pm-25@gated-at.bofh.it>
     [not found] ` <8IdHQ-7Pm-27@gated-at.bofh.it>
     [not found]   ` <8IdHQ-7Pm-29@gated-at.bofh.it>
     [not found]     ` <8IdHQ-7Pm-31@gated-at.bofh.it>
     [not found]       ` <8IdHQ-7Pm-33@gated-at.bofh.it>
     [not found]         ` <8IdHQ-7Pm-35@gated-at.bofh.it>
     [not found]           ` <8IdHQ-7Pm-37@gated-at.bofh.it>
     [not found]             ` <8IdHQ-7Pm-39@gated-at.bofh.it>
     [not found]               ` <8IdHQ-7Pm-41@gated-at.bofh.it>
     [not found]                 ` <8IdHQ-7Pm-43@gated-at.bofh.it>
     [not found]                   ` <8IdHQ-7Pm-45@gated-at.bofh.it>
     [not found]                     ` <8IdHQ-7Pm-47@gated-at.bofh.it>
     [not found]                       ` <8IdHQ-7Pm-49@gated-at.bofh.it>
     [not found]                         ` <8IdHQ-7Pm-23@gated-at.bofh.it>
2007-07-18 11:09                           ` Nick Craig-Wood
2007-07-11 17:16 Jesper Juhl
2007-07-11 17:54 ` Zan Lynx
2007-07-11 20:05   ` Daniel Phillips
2007-07-11 22:09     ` Neil Brown
2007-07-12  3:15       ` Daniel Phillips
2007-07-12  4:16 ` David Chinner
2007-07-12  4:59 ` Ray Lee
2007-07-12 20:24   ` Jesper Juhl
2007-07-13  0:34     ` Jeremy Fitzhardinge
2007-07-13  2:25       ` Jesper Juhl
2007-07-13  4:14         ` Jeremy Fitzhardinge
2007-07-13  9:19           ` Jan Engelhardt
2007-07-13 13:20           ` Rene Herman
2007-07-14 19:17             ` Matt Mackall
2007-07-14 22:19               ` Rene Herman
2007-07-16 23:38                 ` Matt Mackall
2007-07-17 13:46                   ` Rene Herman
2007-07-18 17:19               ` Phillip Susi
2007-07-18 17:32                 ` Rene Herman
2007-07-18 17:32                 ` Alan Cox
2007-07-18 17:33                   ` Phillip Susi
2007-07-14 19:42         ` Matt Mackall
2007-07-12  6:08 ` Jeremy Fitzhardinge
2007-07-12  6:37   ` David Chinner

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=469BF104.1040703@gmail.com \
    --to=rene.herman@gmail.com \
    --cc=7eggert@gmx.de \
    --cc=arjan@infradead.org \
    --cc=dgc@sgi.com \
    --cc=jeremy@goop.org \
    --cc=jesper.juhl@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpm@selenic.com \
    --cc=ray-lk@madrabbit.org \
    --cc=wli@holomorphy.com \
    /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