Date: Sun, 30 Nov 2003 09:10:10 -0500 From: "Christopher M. Sedore" <cmsedore@maxwell.syr.edu> To: <deischen@freebsd.org> Cc: threads@freebsd.org Subject: RE: KSE system scope vs non system scope threads Message-ID: <32A8B2CB12BFC84D8D11D872C787AA9A515DB1@EXCHANGE.forest.maxwell.syr.edu>
next in thread | raw e-mail | index | archive | help
=20 ________________________________ From: Daniel Eischen [mailto:eischen@vigrid.com] On Sat, 29 Nov 2003, Christopher M. Sedore wrote: [...] >> I ask this because I'm observing some behavior that I don't expect. = When >> running a threaded program with KSE and non-system-scope threads, I = see >> performance degradation in my network traffic when I'm attempting to = connect >> to remote hosts that are down. Libthr doesn't see this degradation, = and KSE >> with system-scope threads doesn't perform as well as libthr, but is = much >> closer. > >Define what you think is degradation. Process scope threads run in the >same KSEG. They are all kept in the same priority-based run-queue. >If you have other threads that have equal or higher priority than >the network threads in question, they will/may run before those >threads. All it takes is one thread that doesn't block (CPU-bound) >to eat away at the time allotment for your other threads. > >If a remote host is down and a thread can't connect to it, that thread >should block allowing other threads to run. Are you using blocking >or non-blocking connects? I'm using blocking connects. Degradation is I should be moving = ~5-7MB/sec (and I do if I don't try to connect to any hosts that are = down). Once I do, I see fluctuations from ~15-20KB/sec (note: KB) to = 3-5MB/sec, somewhat associated with when the connects happen. Running = libthr, I move 6-7MB/sec consistently (until everything hangs up showing = sigwait as the status in top, anyway). System scope threads turn in = numbers from 5-6MB/sec. (Note I don't have any hang problems under KSE, = only libthr.) =20 On Monday I'm going to try David Xu's suggestion of trying v1.18 of = thr_spinlock.c to see if that helps. -Chris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?32A8B2CB12BFC84D8D11D872C787AA9A515DB1>