Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Mar 2012 16:20:12 +0200
From:      Hans Ottevanger <hans@beastielabs.net>
To:        Mahesh Babu <maheshbabu90@yahoo.co.in>
Cc:        "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>, Giovanni Trematerra <gianni@freebsd.org>
Subject:   Re: Context Switch
Message-ID:  <4F75C11C.3060002@beastielabs.net>
In-Reply-To: <CACfq09232Vj5JEdZa=2YUnX%2BpXGD7EcoDA0sHQ%2BPfeyjdZT%2B_g@mail.gmail.com>
References:  <1333041495.92141.YahooMailNeo@web193201.mail.sg3.yahoo.com> <CACfq09232Vj5JEdZa=2YUnX%2BpXGD7EcoDA0sHQ%2BPfeyjdZT%2B_g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 03/30/12 15:36, Giovanni Trematerra wrote:
> On Thu, Mar 29, 2012 at 7:18 PM, Mahesh Babu<maheshbabu90@yahoo.co.in>  wrote:
>> Which part of the source code in FreeBSD 9 is responsible for making context switching i.e. storing and restoring the process state.
>>
>
> Context switch is split up in machine indipendent code (MI Code) and
> machine dependent code (MD Code)
>
> For MI part take a look at
> mi_switch in sys/kern/kern_sync.c
> sched_switch in sys/kern/sched_ule.c and sys/kern_4bsd.c depending on
> configurated scheduler in the kernel config file.
>
> For MD part search for symbol cpu_switch inside the specific arch directory.
>

For background information you could read "The Book" (a bit dated but 
still quite relevant):

http://www.informit.com/store/product.aspx?isbn=0201702452

And you are especially lucky, since the chapter that is the most 
relevant to you is freely available on-line:

http://www.informit.com/articles/article.aspx?p=366888


Kind regards,

Hans Ottevanger



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F75C11C.3060002>