Date: Wed, 10 Dec 2003 19:57:11 -0800 (PST) From: Jeff Roberson <jeff@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern sched_ule.c Message-ID: <200312110357.hBB3vBFD065098@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jeff 2003/12/10 19:57:11 PST FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Add support for CPU groups to ule. All SMT cores on the same physical cpu are added to a group. - Don't place a cpu into the kseq_idle bitmask until all cpus in that group have idled. - Prefer idle groups over idle group members in the new kseq_transfer() function. In this way we will prefer to balance load across full cores rather than add further load a partial core. - Before a cpu goes idle, check the other group members for threads. Since SMT cpus may freely share threads, this is cheap. - SMT cores may be individually pinned and bound to now. This contrasts the old mechanism where binding or pinning would have allowed a thread to run on any available cpu. - Remove some unnecessary logic from sched_switch(). Priority propagation should be properly taken care of in sched_prio() now. Revision Changes Path 1.86 +263 -116 src/sys/kern/sched_ule.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200312110357.hBB3vBFD065098>