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>