Date: Tue, 6 Jul 2004 10:42:18 -0700 (PDT) From: Julian Elischer <julian@elischer.org> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: freebsd-threads@freebsd.org Subject: Re: pthread switch (was Odd KSE panic) Message-ID: <Pine.BSF.4.21.0407061041560.64529-100000@InterJet.elischer.org> In-Reply-To: <16618.51842.291266.840333@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 6 Jul 2004, Andrew Gallatin wrote: > > Daniel Eischen writes: > > > > With a small number of threads, it probably doesn't make sense > > to have more than one KSE (unless they are mostly CPU-bound). > > In Drew's example, there are 2 KSEs (HTT enabled) and only 2 threads. > > Actually, there are 2 procs, each with 2 threads. > > To elaborate, there are two processes, each running one instance of a > pingpong test for each of 2 NICs in the box. > > > Each time a thread sleeps, the KSE enters the kernel to sleep > > (kse_release()) because there are no other threads to run. > > > > Drew, can you try lowering the concurrency? You can > > either try using pthread_setconcurrency(1) or setting > > kern.threads.virtual_cpu=1. > > > Here is the raw data for a ping-pong between 2 nics on the same box > with various configurations of cpu_idle_hlt and virtual_cpu. tried libc_r? > > > > Polling 5.0us > Linux 20.4us > linulator 82.5us > thr 75.1us > kse 123.6us > > machdep.cpu_idle_hlt=0 > linulator 74.0us > thr 64.6us > kse 111.9 > > kern.threads.virtual_cpu=1 > machdep.cpu_idle_hlt=0 > kse 100.8 > > kern.threads.virtual_cpu=1 > machdep.cpu_idle_hlt=0 > kse 93.9 > > > Key: > Linux: kernel 2.66, Debian libc6 2.2.5-11.5 (no sysenter, or NPTL) > linulator: static binary used above, run under COMPAT_LINUX > thr: libthr (via libmap.conf) > kse: libpthread > > > BTW, there's a little more fat in the interrupt/wakeup path in the > FreeBSD MD driver code (condvars, MPSAFE intr, rather than an > INTR_FAST and some homebrew technique). Based on other measurements, I > don't think its 54us worth of fat (more like 15 or 20usec). > > Drew >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0407061041560.64529-100000>