All of lore.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 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.