Date: Thu, 02 May 2002 13:18:42 -0400 (EDT) From: John Baldwin <jhb@FreeBSD.org> To: Terry Lambert <tlambert2@mindspring.com> Cc: freebsd-smp@FreeBSD.org, Andrew Gallatin <gallatin@cs.duke.edu>, Jonathan Mini <mini@FreeBSD.org> Subject: Re: hlt when idle? Message-ID: <XFMail.20020502131842.jhb@FreeBSD.org> In-Reply-To: <3CD17167.96118A88@mindspring.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 02-May-2002 Terry Lambert wrote: > John Baldwin wrote: >> On 02-May-2002 Jonathan Mini wrote: >> > They're really proud of this solution, >> > because (they claim) it reduces contentions of clock-triggered events >> > across >> > processors. >> >> It probably does. > > It definitely does, provided you are guaranteed that the clock > interrupt handler can always execute in less time than the > interval between clock interrupts. Then you don't have to > contend on the global handler lock to ensure it only runs once. Well, with our current interrupts the foo_process() (should be foo_thread()) versions still need the global sched_lock to modify some flag fields and what not. (Some of this could be eliminated by splitting td_flags into two parts, one that needs the lock and one that doesn't.) Thus, if they all fire at once, even if it's broadcast they all contend with each other, wherease if they are broadcast but staggered such as on the alpha they don't in theory contend with each other at all. (Provided the handler is fast enough, which it should be.) > -- Terry -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20020502131842.jhb>