public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Brian Gerst <bgerst@didntduck.org>
To: Guy Sotomayor <ggs@shiresoft.com>
Cc: "Linus Torvalds" <torvalds@osdl.org>,
	"Andrea Arcangeli" <andrea@suse.de>,
	"Ingo Molnar" <mingo@elte.hu>,
	"Jörn Engel" <joern@wohnheim.fh-wedel.de>,
	"Arjan van de Ven" <arjanv@redhat.com>,
	"Rik van Riel" <riel@redhat.com>,
	linux-kernel@vger.kernel.org
Subject: Re: 4k stacks in 2.6
Date: Thu, 27 May 2004 15:26:35 -0400	[thread overview]
Message-ID: <40B640EB.5030207@didntduck.org> (raw)
In-Reply-To: <1085682709.5910.24.camel@localhost.localdomain>

Guy Sotomayor wrote:

> On Thu, 2004-05-27 at 07:55, Linus Torvalds wrote:
> 
> 
>>"minor implementation detail"?
>>
>>You need to get to the thread info _some_ way, and you need to get to it
>>_fast_. There are really no sane alternatives. I certainly do not want to
>>play games with segments.
> 
> 
> While segments on x86 are in general to be avoided (aka the 286
> segmented memory models) they can be useful for some things in the
> kernel.
> 
> Here's a couple of examples:
>       * dereference gs:0 to get the thread info.  The first element in
>         the structure is its linear address (ie usable for being deref'd
>         off of DS).

The only problem with using %gs as a base register is that reloading it 
on every entry and exit is rather expensive (GDT access and priviledge 
checks) compared to masking bits off %esp.  x86-64 can get away with it 
because it has the swapgs instruction which makes it efficient to use.

>       * use SS to enforce the stack limit.  This way you'd absolutely
>         get an exception when there was a stack overflow (underflow). 
>         SS gets reloaded on entry into the kernel and on interrupts
>         anyway so there really shouldn't be a performance impact.  I
>         haven't looked at all the (potential) gcc implications here so
>         this one may not be completely doable.

Not possible.  GCC completely assumes that we are working with a single 
flat address space.  It has no concept of segmentation at all.

--
				Brian Gerst

  reply	other threads:[~2004-05-27 19:27 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-23 19:43 4g/4g for 2.6.6 Phy Prabab
2004-05-23 20:32 ` Linus Torvalds
2004-05-23 20:51   ` Jeff Garzik
2004-05-24  1:55     ` Linus Torvalds
2004-05-24  2:19       ` Jeff Garzik
2004-05-24  2:33         ` Wim Coekaerts
2004-05-31  9:51           ` Pavel Machek
2004-05-24  3:30         ` Martin J. Bligh
2004-06-01  5:52       ` Eric W. Biederman
2004-05-23 21:55   ` Phy Prabab
2004-05-24  7:05     ` Arjan van de Ven
2004-05-24  7:11       ` Phy Prabab
2004-05-24  7:24         ` Arjan van de Ven
2004-05-24  7:27           ` Phy Prabab
2004-05-24 12:01             ` Dave Jones
2004-05-24  2:39   ` William Lee Irwin III
2004-05-24  8:25   ` Ingo Molnar
2004-05-24 12:48     ` Andrea Arcangeli
2004-05-25 19:15       ` Rik van Riel
2004-05-25 19:41         ` Andrea Arcangeli
2004-05-25 19:50           ` Rik van Riel
2004-05-25 20:10             ` Rik van Riel
2004-05-25 21:15               ` Andrea Arcangeli
2004-05-26 10:33                 ` 4k stacks in 2.6 Ingo Molnar
2004-05-26 12:50                   ` Jörn Engel
2004-05-26 12:53                     ` Arjan van de Ven
2004-05-26 13:00                       ` Jörn Engel
2004-05-26 13:05                         ` Arjan van de Ven
2004-05-26 16:41                           ` Jörn Engel
2004-05-27 12:45                             ` Ingo Molnar
2004-05-27 13:59                               ` Andrea Arcangeli
2004-05-27 14:03                                 ` Arjan van de Ven
2004-05-27 14:42                                   ` Andrea Arcangeli
2004-06-02 19:40                                     ` Bill Davidsen
2004-05-27 14:18                                 ` Brian Gerst
2004-05-27 14:50                                   ` Andrea Arcangeli
2004-05-27 14:55                                     ` Linus Torvalds
2004-05-27 15:39                                       ` Andrea Arcangeli
2004-05-27 18:31                                       ` Guy Sotomayor
2004-05-27 19:26                                         ` Brian Gerst [this message]
2004-06-01  5:56                             ` 4k stacks in 2.6 [worst offenders] Jörn Engel
2004-06-01  6:02                               ` [RFC PATCH] explicitly mark recursion count Jörn Engel
2004-06-01 12:20                                 ` Pavel Machek
2004-06-01 13:27                                   ` Jörn Engel
2004-06-01 13:32                                     ` Pavel Machek
2004-06-01 13:37                                       ` Jörn Engel
2004-06-01 19:48                                         ` Horst von Brand
2004-06-01 19:29                                   ` Horst von Brand
2004-06-01 19:58                                     ` Linus Torvalds
2004-06-02 13:16                                       ` Jörn Engel
2004-06-02 14:15                                         ` Linus Torvalds
2004-06-02 14:27                                           ` Jörn Engel
2004-06-02 14:45                                             ` Linus Torvalds
2004-06-02 15:04                                               ` Jörn Engel
2004-06-02 15:12                                                 ` Linus Torvalds
2004-06-02 15:27                                                   ` Jörn Engel
2004-06-02 15:52                                                     ` Linus Torvalds
2004-06-02 16:17                                                       ` Jörn Engel
2004-06-02 16:25                                                         ` Linus Torvalds
2004-06-02 17:17                                                           ` Jörn Engel
2004-06-02 17:32                                                             ` Greg KH
2004-06-02 17:46                                                               ` Jörn Engel
2004-06-02 14:35                                           ` Davide Libenzi
2004-06-02 18:20                                             ` Jörn Engel
2004-06-02 18:37                                               ` Davide Libenzi
2004-06-02 18:58                                                 ` Jörn Engel
2004-06-02 19:33                                                   ` Valdis.Kletnieks
2004-06-02 19:37                                                   ` viro
2004-06-02 19:45                                                     ` Jörn Engel
2004-06-02 19:59                                                       ` viro
2004-06-03  6:55                                                         ` Jörn Engel
2004-06-02 19:55                                                     ` Valdis.Kletnieks
2004-06-02 23:20                                                   ` Davide Libenzi
2004-06-03  7:29                                                     ` Jörn Engel
2004-06-01 12:39                                 ` viro
2004-06-01 13:26                                   ` Jörn Engel
2004-06-07 18:14                         ` 4k stacks in 2.6 Timothy Miller
2004-06-08  6:26                           ` Arjan van de Ven
2004-06-08  8:45                             ` Jörn Engel
2004-05-26 18:12                     ` David S. Miller
2004-05-26 19:02                       ` Matt Mackall
2004-05-26 19:25                         ` Dave Jones
2004-05-25 21:16               ` 4g/4g for 2.6.6 Andrew Morton
2004-05-25 21:48                 ` Ingo Molnar
2004-05-25 22:09                   ` David S. Miller
2004-05-25 22:20                     ` Ingo Molnar
2004-05-25 23:10                       ` David S. Miller
2004-05-25 21:04             ` Bill Davidsen
2004-05-24  1:33 ` Martin J. Bligh
2004-05-24  1:38   ` Phy Prabab
     [not found] <1ZQpn-1Rx-1@gated-at.bofh.it>
     [not found] ` <1ZQz8-1Yh-15@gated-at.bofh.it>
     [not found]   ` <1ZRFf-2Vt-3@gated-at.bofh.it>
     [not found]     ` <203Zu-4aT-15@gated-at.bofh.it>
2004-05-26 13:57       ` 4k stacks in 2.6 Andi Kleen
2004-05-26 18:17         ` hch
2004-05-26 18:24           ` Andi Kleen
2004-05-26 20:39         ` Zwane Mwaikambo
     [not found]       ` <206b3-5WN-33@gated-at.bofh.it>
     [not found]         ` <20baw-1Lz-15@gated-at.bofh.it>
2004-05-26 19:32           ` Andi Kleen
2004-05-27 11:27             ` Jörn Engel
2004-05-27 13:49               ` Andrea Arcangeli
2004-05-27 14:15                 ` Jörn Engel
2004-05-27 14:49                   ` Andrea Arcangeli
2004-05-27 14:59                     ` Jörn Engel
2004-05-27 15:08                       ` Keith Owens
2004-05-27 15:21                         ` Jörn Engel
2004-05-27 15:34                           ` Arjan van de Ven
2004-05-27 15:46                             ` Jörn Engel
2004-06-01  5:25                             ` Jörn Engel
  -- strict thread matches above, loose matches on Subject: below --
2004-05-26 15:17 Albert Cahalan

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=40B640EB.5030207@didntduck.org \
    --to=bgerst@didntduck.org \
    --cc=andrea@suse.de \
    --cc=arjanv@redhat.com \
    --cc=ggs@shiresoft.com \
    --cc=joern@wohnheim.fh-wedel.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=riel@redhat.com \
    --cc=torvalds@osdl.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