Date: Sat, 19 Feb 2005 22:44:12 +0900 From: Kazuaki Oda <kaakun@highway.ne.jp> To: David Xu <davidxu@freebsd.org> Cc: threads@freebsd.org Subject: Re: thread accounting in libpthread Message-ID: <421742AC.9050509@highway.ne.jp> In-Reply-To: <42174126.5000006@freebsd.org> References: <Pine.GSO.4.43.0502181355340.16670-100000@sea.ntplx.net> <42173C82.7040408@highway.ne.jp> <42174126.5000006@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Yes. It is fair scheduling under console. My result is under xterm. Could you run it under xterm or any other x11 terminal? David Xu wrote: > I have run your program, here is the result: > > ... > thread 04: countup > thread 00: countup > thread 01: countup > -------------------- > thread 00: 553150 > thread 01: 562367 > thread 02: 553351 > thread 03: 532770 > thread 04: 542718 > -------------------- > > It is fair scheduling. I run it under console and no other programs > are eating CPU > time, note that I didn't run it under X11 terminal. > > David Xu > > Kazuaki Oda wrote: > >> Daniel Eischen wrote: >> >>> On Sat, 19 Feb 2005, Kazuaki Oda wrote: >>> >>> >>>> And while looking at thr_kern.c, I've had one more question. >>>> In kse_switchout_thread, after calling thr_accounting thread is placed >>>> at the tail of run queue or at the head of it according to >>>> thread->slice_usec. >>>> But in kse_check_completed, thread is just placed at the tail of >>>> run queue. >>>> Is there any reason why thread is not placed at the head of run >>>> queue in >>>> case of thread->slice_usec != -1? >>>> >>> >>> >>> >>> Because it already blocked and we don't want to needlessly >>> switch out a currently running thread that hasn't used its >>> quantum. >>> >>> >>> >> >> Blocked? I think that completed threads are *not* blocked and they >> are ready >> to run except for suspended. And, kse_check_completed could be >> called after >> calling kse_wait. In this case there is currently no running thread. >> >> The reason why I am researching libpthread is that the attached >> program shows >> -------------------- >> thread 00: 55666 >> thread 01: 1161 >> thread 02: 1112 >> thread 03: 1112 >> thread 04: 55494 >> -------------------- >> on xterm on my UP machine. This is a unexpected result. It seems to >> me that >> libpthread does unfair scheduling. But on SMP machine that program >> shows >> expected result and on console too... >> >> >> -------------------- >> Kazuaki Oda >>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?421742AC.9050509>