The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Imanpreet Arora <imanpreet@gmail.com>
To: Robert Love <rml@novell.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Question regarding thread_struct
Date: Tue, 8 Mar 2005 23:25:19 +0530	[thread overview]
Message-ID: <c26b959205030809551b3e9670@mail.gmail.com> (raw)
In-Reply-To: <1110302922.28921.3.camel@betsy.boston.ximian.com>

On Tue, 08 Mar 2005 12:28:42 -0500, Robert Love <rml@novell.com> wrote:
> On Tue, 2005-03-08 at 22:57 +0530, Imanpreet Arora wrote:
> 
> > This has been a doubt for a couple of days, and I am wondering if this
> > one could also be cleared. When you say kernel stack, can't be resized
> >
> >
> > a)       Does it mean that the _whole_ of the kernel is restricted to
> > that 8K or 16K of memory?
> 
> Actually, 4K or 8K these days for x86.  But, no, it means that EACH
> PROCESS is constrained to the kernel stack.  The stacks are per-process.
> The kernel never "runs on its own" -- it is always in the context of a
> process (which has its own kernel stack) or an interrupt handler (which
> either shares the previous process's stack or has its own stack,
> depending on CONFIG_IRQSTACKS).

Thanks again, but if the whole of the kernel is restricted to couple of pages.

Does this mean

a) the whole of the kernel including drivers is restricted to couple of pages.

b) Or with a more probability, I think what you actually mean is that
whenever there is an interrupt by any driver it runs in either context
of the current process or depending upon CONFIG_IRQSTACKS.

If you could just quote the chapter, in your book which contains
information  about this, that would be more than sufficient.


> > b)        Or does it mean that a particular stack for a particular
> > process, can't be resized?
> 
> Yes, I just said that in the previous email.  The kernel stack cannot be
> resized.  It is fixed.  It is one or two pages, depending on configure
> option.  That is, 4 or 8K.
> 
> The _user-space_ stack, what the application actually uses, is
> dynamically resizable.  But we are not talking about that.
> 
> > c)         And for that matter how exactly do we define a kernel stack?
> 
> I don't know what you mean.  alloc_thread_info() creates the thread_info
> structure and stack.


Actually what I asked above was "how exactly does one define and
differentiate kernel stack", as against "user-stack". I think I always
knew it but couple of clouds were coming over after reading your first
mail. Also if each thread has a kernel stack how is it allocated at
first place (alloc_thread_info)(?)

Thanks.
-- 

Imanpreet Singh Arora

  reply	other threads:[~2005-03-08 17:55 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-08 17:04 Question regarding thread_struct Imanpreet Arora
2005-03-08 17:13 ` Robert Love
2005-03-08 17:27   ` Imanpreet Arora
2005-03-08 17:28     ` Robert Love
2005-03-08 17:55       ` Imanpreet Arora [this message]
2005-03-08 17:58         ` Robert Love
2005-03-08 18:14       ` Coywolf Qi Hunt
2005-03-08 18:12         ` Robert Love
2005-03-08 18:27         ` Zwane Mwaikambo
2005-03-08 17:57     ` linux-os

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=c26b959205030809551b3e9670@mail.gmail.com \
    --to=imanpreet@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rml@novell.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