Date: Thu, 6 Jul 2006 08:10:21 -0400 (EDT) From: Daniel Eischen <deischen@freebsd.org> To: David Xu <davidxu@freebsd.org> Cc: threads@freebsd.org, Robert Watson <rwatson@freebsd.org>, freebsd-threads@freebsd.org Subject: Re: Strawman proposal: making libthr default thread implementation? Message-ID: <Pine.GSO.4.64.0607060801400.23073@sea.ntplx.net> In-Reply-To: <200607032020.10993.davidxu@freebsd.org> References: <20060703101554.Q26325@fledge.watson.org> <Pine.GSO.4.64.0607030744030.5823@sea.ntplx.net> <200607032020.10993.davidxu@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 3 Jul 2006, David Xu wrote: > but reality is, mysql is using system scope in libpthread to get better > performance but not process scope thread. in the real world, these > nominal features are also not used widely, using it can only cause > serious performance problem in most applications, until you need hard > realtime, but why do you use FreeBSD if you need hard realtime ? > there are dedicated systems which are designed for this requirement. > I still does not find an application really need this feature. Also > I don't think one can easily implement a modern CPU friendly scheduler > in userland, HTT, shared L2 dual-core, NUMA scheduling, doing it in kernel is > already extreme diffcult, putting lots of effort in single library but other > single threaded application still gain nothing is also not worthy to work > on M:N thread library. I don't need hard real-time, but would like to be able to use FreeBSD for soft real-time. And note that if an application specifies SCHED_RR, SCHED_FIFO, or SCHED_SPORADIC, it doesn't matter if you have HTT, L2 dual-core, NUMA, whatever. Optimizing for those is just fine (for SCHED_OTHER), but in the presence of one of the above scheduling attributes it means _nothing_. libpthread uses SCHED_RR by default (SCHED_OTHER = SCHED_RR), but there is no reason that it couldn't just let the kernel schedule threads any way it wants (even without upcalls) by default (for SCHED_OTHER). -- DE
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.64.0607060801400.23073>