cvs commit: src/sys/kern sched_ule.c

2008-09-23 Thread Konstantin Belousov
kib 2008-09-23 11:56:07 UTC FreeBSD src repository Modified files:(Branch: RELENG_7) sys/kern sched_ule.c Log: SVN rev 183294 on 2008-09-23 11:56:07Z by kib MFC r180607 (by jeff): Check whether we've recorded this tick in ts_ticks on another cpu in

cvs commit: src/sys/kern sched_ule.c

2008-07-18 Thread Jeff Roberson
jeff2008-07-19 05:13:47 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: SVN rev 180607 on 2008-07-19 05:13:47Z by jeff - Check whether we've recorded this tick in ts_ticks on another cpu in sched_tick() to prevent multiple increment

cvs commit: src/sys/kern sched_ule.c

2008-04-18 Thread Jeff Roberson
jeff2008-04-19 04:50:29 UTC FreeBSD src repository Modified files:(Branch: RELENG_7) sys/kern sched_ule.c Log: MFC 1.220, 1.221, parts of 1.222 - Improve performance with heavy interrupt loads - Fix compile with gcc3 - Fix timeslicing code for non

cvs commit: src/sys/kern sched_ule.c

2008-04-17 Thread Jeff Roberson
jeff2008-04-17 09:56:01 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Add a metric to describe how busy a processor has been over the last two ticks by counting the number of switches and the load when sched_clock() is called.

Re: cvs commit: src/sys/kern sched_ule.c

2008-04-04 Thread John Baldwin
On Thursday 03 April 2008 09:04:43 pm Jeff Roberson wrote: > jeff2008-04-04 01:04:43 UTC > > FreeBSD src repository > > Modified files: > sys/kern sched_ule.c > Log: >- Don't check for the ITHD pri class in tdq_load_add and rem. 4BSD > doesn't do this either. Sim

Re: cvs commit: src/sys/kern sched_ule.c

2008-04-03 Thread Jeff Roberson
On Fri, 4 Apr 2008, Jeff Roberson wrote: jeff2008-04-04 01:16:18 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Allow static_boost to specify no boost with '0', traditional kernel fixed pri boost with '1' or any priority less than the cu

cvs commit: src/sys/kern sched_ule.c

2008-04-03 Thread Jeff Roberson
jeff2008-04-04 01:16:18 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Allow static_boost to specify no boost with '0', traditional kernel fixed pri boost with '1' or any priority less than the current thread's priority with a va

cvs commit: src/sys/kern sched_ule.c

2008-04-03 Thread Jeff Roberson
jeff2008-04-04 01:04:43 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Don't check for the ITHD pri class in tdq_load_add and rem. 4BSD doesn't do this either. Simply check P_NOLOAD. It'd be nice if this was in a thread flag s

cvs commit: src/sys/kern sched_ule.c

2008-03-19 Thread Jeff Roberson
jeff2008-03-19 07:36:37 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Remove some dead code and comments related to KSE. - Don't set tdq_lowpri on every switch, it should be precisely maintained now. - Add some comments to sched_th

cvs commit: src/sys/kern sched_ule.c

2008-03-14 Thread John Baldwin
jhb 2008-03-14 15:22:38 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: Make the function prototype for cpu_search() match the declaration so that this still compiles with gcc3. Revision ChangesPath 1.233 +2 -2 src/sys/k

Re: cvs commit: src/sys/kern sched_ule.c

2008-03-10 Thread Aryeh M. Friedman
Jeff Roberson wrote: On Mon, 10 Mar 2008, Aryeh M. Friedman wrote: Jeff Roberson wrote: jeff2008-03-10 22:48:27 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Fix the invalid priority panics people are seeing by forcing tdq_runq_a

Re: cvs commit: src/sys/kern sched_ule.c

2008-03-10 Thread Jeff Roberson
On Mon, 10 Mar 2008, Aryeh M. Friedman wrote: Jeff Roberson wrote: jeff2008-03-10 22:48:27 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Fix the invalid priority panics people are seeing by forcing tdq_runq_add to select the runq

Re: cvs commit: src/sys/kern sched_ule.c

2008-03-10 Thread Aryeh M. Friedman
Jeff Roberson wrote: jeff2008-03-10 22:48:27 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Fix the invalid priority panics people are seeing by forcing tdq_runq_add to select the runq rather than hoping we set it properly whe

cvs commit: src/sys/kern sched_ule.c

2008-03-10 Thread Jeff Roberson
jeff2008-03-10 22:48:27 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Fix the invalid priority panics people are seeing by forcing tdq_runq_add to select the runq rather than hoping we set it properly when we adjusted the priori

cvs commit: src/sys/kern sched_ule.c

2008-03-10 Thread Jeff Roberson
jeff2008-03-10 09:50:30 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Don't rely on a side effect of sched_prio() to set the initial ts_runq for thread0. Set it directly in sched_setup(). This fixes traps on boot seen on some

cvs commit: src/sys/kern sched_ule.c

2008-03-09 Thread Jeff Roberson
jeff2008-03-10 03:15:19 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: Reduce ULE context switch time by over 25%. - Only calculate timeshare priorities once per tick or when a thread is woken from sleeping. - Keep the ts_runq p

cvs commit: src/sys/kern sched_ule.c

2008-03-09 Thread Jeff Roberson
jeff2008-03-10 01:32:01 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Add an implementation of sched_preempt() that avoids excessive IPIs. - Normalize the preemption/ipi setting code by introducing sched_shouldpreempt() so the lo

Re: cvs commit: src/sys/kern sched_ule.c

2008-03-03 Thread Jeff Roberson
On Sun, 2 Mar 2008, Julian Elischer wrote: Peter Jeremy wrote: Kris has done some excellent benchmarking as usual. Here you can see the improvement in postgres depending on various scheduler debug settings: http://people.freebsd.org/~kris/scaling/pgsql-16cpu.png The improvement is quit

Re: cvs commit: src/sys/kern sched_ule.c

2008-03-02 Thread Julian Elischer
Peter Jeremy wrote: Kris has done some excellent benchmarking as usual. Here you can see the improvement in postgres depending on various scheduler debug settings: http://people.freebsd.org/~kris/scaling/pgsql-16cpu.png The improvement is quite substantial. Congratulations Jeff. the dr

Re: cvs commit: src/sys/kern sched_ule.c

2008-03-02 Thread Peter Jeremy
On Sat, Mar 01, 2008 at 10:29:50PM -1000, Jeff Roberson wrote: >With these changes ULE is the only scheduler that supports the new cpuset >api. Excellent work. I didn't expect it to be implemented so quickly. > It succeeds on 4BSD but the scheduler doesn't obey the masks. I don't >presently h

Re: cvs commit: src/sys/kern sched_ule.c

2008-03-02 Thread Jeff Roberson
On Sun, 2 Mar 2008, Jeff Roberson wrote: jeff2008-03-02 08:20:59 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: Add support for the new cpu topology api: - When searching for affinity search backwards in the tree from the last cpu we ran o

cvs commit: src/sys/kern sched_ule.c

2008-03-02 Thread Jeff Roberson
jeff2008-03-02 08:20:59 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: Add support for the new cpu topology api: - When searching for affinity search backwards in the tree from the last cpu we ran on while the thread still has affinit

cvs commit: src/sys/kern sched_ule.c

2008-01-22 Thread Jeff Roberson
jeff2008-01-23 03:10:18 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - sched_prio() should only adjust tdq_lowpri if the thread is running or on a run-queue. If the priority is numerically raised only change lowpri if we're cert

cvs commit: src/sys/kern sched_ule.c

2008-01-15 Thread Jeff Roberson
jeff2008-01-15 09:03:09 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - When executing the 'tryself' branch in sched_pickcpu() look at the lowest priority on the queue for the current cpu vs curthread's priority. In the case that

cvs commit: src/sys/kern sched_ule.c

2008-01-04 Thread Jeff Roberson
jeff2008-01-05 04:47:31 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Restore timeslicing code for all bit SCHED_FIFO priority classes. Reported by:Peter Jeremy <[EMAIL PROTECTED]> Revision ChangesPath 1.221 +9 -1

cvs commit: src/sys/kern sched_ule.c

2007-12-21 Thread Wojciech A. Koszek
wkoszek 2007-12-21 23:30:18 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: Make SCHED_ULE buildable with gcc3. Reviewed by:cognet (mentor), jeffr Approved by:cognet (mentor), jeffr Revision ChangesPath 1.220 +17 -17

cvs commit: src/sys/kern sched_ule.c

2007-10-28 Thread Sam Leffler
sam 2007-10-28 21:09:46 UTC FreeBSD src repository Modified files:(Branch: RELENG_7) sys/kern sched_ule.c Log: MFC 1.215: enable use of ULE on arm Approved by:re (kensmith) Revision ChangesPath 1.214.2.1 +1 -1 src/sys/kern/sched

cvs commit: src/sys/kern sched_ule.c src/sys/powerpc/conf GENERIC src/sys/powerpc/powerpc genassym.c swtch.S vm_machdep.c

2007-10-22 Thread Peter Grehan
grehan 2007-10-23 00:52:25 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c sys/powerpc/conf GENERIC sys/powerpc/powerpc genassym.c swtch.S vm_machdep.c Log: Cut over to ULE on PowerPC kern/sched_ule.c - Add __powerpc__ to the list

cvs commit: src/sys/kern sched_ule.c

2007-10-16 Thread Sam Leffler
sam 2007-10-16 19:25:27 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: ULE works fine on arm; allow it to be used Reviewed by:jeff, cognet, imp MFC after: 1 week Revision ChangesPath 1.215 +1 -1 src/sys/ke

cvs commit: src/sys/kern sched_ule.c

2007-10-08 Thread Jeff Roberson
jeff2007-10-08 23:50:40 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Bail out of tdq_idled if !smp_started or idle stealing is disabled. This fixes a bug on UP machines with SMP kernels where the idle thread constantly switche

Re: cvs commit: src/sys/kern sched_ule.c

2007-10-02 Thread Bruce Evans
On Tue, 2 Oct 2007, Jeff Roberson wrote: On Tue, 2 Oct 2007, Bruce Evans wrote: Sorry I don't have time for a point by point on this one. Thank you for your interesting analysis. From this I'm taking away a couple of things: 1) I've noticed that ULE relied on PREEMPTION for a long time a

Re: cvs commit: src/sys/kern sched_ule.c

2007-10-02 Thread Bruce Evans
On Tue, 2 Oct 2007, John Baldwin wrote: On Tuesday 02 October 2007 09:49:34 am Bruce Evans wrote: Apparently, there is a scaling bug for hz or extra interrupts for the larger hz help, and the default preempt_thresh is not best. -current on i386 and amd64 does a very poor job of scaling stathz

Re: cvs commit: src/sys/kern sched_ule.c

2007-10-02 Thread Jeff Roberson
On Tue, 2 Oct 2007, Bruce Evans wrote: On Mon, 1 Oct 2007, Jeff Roberson wrote: On Tue, 2 Oct 2007, Bruce Evans wrote: Further testing of my ~4BSD scheduler in ~5.2 indicates that when a process wants less than about 1/loadavg of the CPU on average, it usually just gets it, with no scheduli

Re: cvs commit: src/sys/kern sched_ule.c

2007-10-02 Thread John Baldwin
On Tuesday 02 October 2007 09:49:34 am Bruce Evans wrote: > Apparently, there is a scaling bug for hz or extra interrupts for > the larger hz help, and the default preempt_thresh is not best. -current on i386 and amd64 does a very poor job of scaling stathz and profhz with hz, so this may explain

Re: cvs commit: src/sys/kern sched_ule.c

2007-10-02 Thread Bruce Evans
On Mon, 1 Oct 2007, Jeff Roberson wrote: On Tue, 2 Oct 2007, Bruce Evans wrote: Further testing of my ~4BSD scheduler in ~5.2 indicates that when a process wants less than about 1/loadavg of the CPU on average, it usually just gets it, with no scheduling delays, since it usually has higher pr

Re: cvs commit: src/sys/kern sched_ule.c

2007-10-01 Thread Jeff Roberson
On Mon, 1 Oct 2007, Bruce Evans wrote: On Sun, 30 Sep 2007, Jeff Roberson wrote: On Sat, 29 Sep 2007, Kevin Oberman wrote: YMMV, but ULE seems to generally work better then 4BSD for interactive uniprocessor systems. The preferred scheduler for uniprocessor servers is less clear, but many te

Re: cvs commit: src/sys/kern sched_ule.c

2007-10-01 Thread Jeff Roberson
On Tue, 2 Oct 2007, Bruce Evans wrote: On Mon, 1 Oct 2007, Kevin Oberman wrote: Date: Mon, 1 Oct 2007 21:26:39 +1000 (EST) From: Bruce Evans <[EMAIL PROTECTED]> On Mon, 1 Oct 2007, Jeff Roberson wrote: Given that the overwhelming amount of feedback by qualified poeple, I think it's fair t

Re: cvs commit: src/sys/kern sched_ule.c

2007-10-01 Thread Bruce Evans
On Mon, 1 Oct 2007, Kevin Oberman wrote: Date: Mon, 1 Oct 2007 21:26:39 +1000 (EST) From: Bruce Evans <[EMAIL PROTECTED]> On Mon, 1 Oct 2007, Jeff Roberson wrote: Given that the overwhelming amount of feedback by qualified poeple, I think it's fair to say that ULE gives a more responsive sys

Re: cvs commit: src/sys/kern sched_ule.c

2007-10-01 Thread Jeff Roberson
On Mon, 1 Oct 2007, Bruce Evans wrote: On Mon, 1 Oct 2007, Jeff Roberson wrote: On Mon, 1 Oct 2007, Bruce Evans wrote: On Sun, 30 Sep 2007, Jeff Roberson wrote: On Sat, 29 Sep 2007, Kevin Oberman wrote: YMMV, but ULE seems to generally work better then 4BSD for interactive uniprocessor

cvs commit: src/sys/kern sched_ule.c

2007-10-01 Thread Jeff Roberson
jeff2007-10-02 01:30:18 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Reassign the thread queue lock to newtd prior to switching. Assigning after the switch leads to a race where the outgoing thread still owns the local queue l

cvs commit: src/sys/kern sched_ule.c

2007-10-01 Thread Jeff Roberson
jeff2007-10-02 00:36:06 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Move the rebalancer back into hardclock to prevent potential softclock starvation caused by unbalanced interrupt loads. - Change the rebalancer to work on stath

Re: cvs commit: src/sys/kern sched_ule.c

2007-10-01 Thread Kevin Oberman
> Date: Mon, 1 Oct 2007 21:26:39 +1000 (EST) > From: Bruce Evans <[EMAIL PROTECTED]> > > On Mon, 1 Oct 2007, Jeff Roberson wrote: > > > On Mon, 1 Oct 2007, Bruce Evans wrote: > > > >> On Sun, 30 Sep 2007, Jeff Roberson wrote: > >> > >>> On Sat, 29 Sep 2007, Kevin Oberman wrote: > >> > YMMV

Re: cvs commit: src/sys/kern sched_ule.c

2007-10-01 Thread Bruce Evans
On Mon, 1 Oct 2007, Jeff Roberson wrote: On Mon, 1 Oct 2007, Bruce Evans wrote: On Sun, 30 Sep 2007, Jeff Roberson wrote: On Sat, 29 Sep 2007, Kevin Oberman wrote: YMMV, but ULE seems to generally work better then 4BSD for interactive uniprocessor systems. The preferred scheduler for unip

Re: cvs commit: src/sys/kern sched_ule.c

2007-10-01 Thread Jeff Roberson
On Mon, 1 Oct 2007, Bruce Evans wrote: On Sun, 30 Sep 2007, Jeff Roberson wrote: On Sat, 29 Sep 2007, Kevin Oberman wrote: YMMV, but ULE seems to generally work better then 4BSD for interactive uniprocessor systems. The preferred scheduler for uniprocessor servers is less clear, but many te

Re: cvs commit: src/sys/kern sched_ule.c

2007-10-01 Thread Bruce Evans
On Sun, 30 Sep 2007, Jeff Roberson wrote: On Sat, 29 Sep 2007, Kevin Oberman wrote: YMMV, but ULE seems to generally work better then 4BSD for interactive uniprocessor systems. The preferred scheduler for uniprocessor servers is less clear, but many test have shown ULE does better for those s

Re: cvs commit: src/sys/kern sched_ule.c

2007-09-30 Thread Jeff Roberson
On Sun, 30 Sep 2007, Peter Grehan wrote: Hi Jeff, ARM has it: .. Did you verify that it works? No. Olivier would be able to answer though. If you can test ULE on UP arm/powerpc I'd appreciate it. Then we could add them to the set of supported architectures in ULE. Does arm support

Re: cvs commit: src/sys/kern sched_ule.c

2007-09-30 Thread Peter Grehan
Hi Jeff, ARM has it: .. Did you verify that it works? No. Olivier would be able to answer though. Does arm support SMP? It looks like it does not? Don't think so. For UP it doesn't need to wait for blocked lock to clear but it does need to set td_lock. On UP there are no special s

Re: cvs commit: src/sys/kern sched_ule.c

2007-09-30 Thread Ben Kaduk
On 9/30/07, Jeff Roberson <[EMAIL PROTECTED]> wrote: > On Sat, 29 Sep 2007, Kevin Oberman wrote: > > >> Date: Sat, 29 Sep 2007 23:25:08 -0400 > >> From: "Ben Kaduk" <[EMAIL PROTECTED]> > >> Sender: [EMAIL PROTECTED] > >> > >> On 9/29/07, Garance A Drosehn <[EMAIL PROTECTED]> wrote: [snip] > >>> > >

Re: cvs commit: src/sys/kern sched_ule.c

2007-09-30 Thread Jeff Roberson
On Sat, 29 Sep 2007, Kevin Oberman wrote: Date: Sat, 29 Sep 2007 23:25:08 -0400 From: "Ben Kaduk" <[EMAIL PROTECTED]> Sender: [EMAIL PROTECTED] On 9/29/07, Garance A Drosehn <[EMAIL PROTECTED]> wrote: At 4:39 PM + 9/27/07, Jeff Roberson wrote: Modified files: sys/kern s

Re: cvs commit: src/sys/kern sched_ule.c

2007-09-30 Thread Jeff Roberson
On Thu, 27 Sep 2007, Peter Grehan wrote: - Assert that we're not trying to compile ULE on an unsupported architecture. To date, I believe only i386 and amd64 have implemented the third cpu switch argument required. ARM has it: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/arm/ar

Re: cvs commit: src/sys/kern sched_ule.c

2007-09-29 Thread Kevin Oberman
> Date: Sat, 29 Sep 2007 23:25:08 -0400 > From: "Ben Kaduk" <[EMAIL PROTECTED]> > Sender: [EMAIL PROTECTED] > > On 9/29/07, Garance A Drosehn <[EMAIL PROTECTED]> wrote: > > At 4:39 PM + 9/27/07, Jeff Roberson wrote: > > > > > > Modified files: > > > sys/kern sched_ule.c > > >

Re: cvs commit: src/sys/kern sched_ule.c

2007-09-29 Thread Ben Kaduk
On 9/29/07, Garance A Drosehn <[EMAIL PROTECTED]> wrote: > At 4:39 PM + 9/27/07, Jeff Roberson wrote: > > > > Modified files: > > sys/kern sched_ule.c > > Log: > >- ... > >- Assert that we're not trying to compile ULE on an unsupported > > architecture. To date

Re: cvs commit: src/sys/kern sched_ule.c

2007-09-29 Thread Garance A Drosehn
At 4:39 PM + 9/27/07, Jeff Roberson wrote: Modified files: sys/kern sched_ule.c Log: - ... - Assert that we're not trying to compile ULE on an unsupported architecture. To date, I believe only i386 and amd64 have implemented the third cpu switch argument

Re: cvs commit: src/sys/kern sched_ule.c

2007-09-27 Thread Peter Grehan
- Assert that we're not trying to compile ULE on an unsupported architecture. To date, I believe only i386 and amd64 have implemented the third cpu switch argument required. ARM has it: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/arm/arm/swtch.S?r1=1.20#rev1.20 PPC doesn't, t

cvs commit: src/sys/kern sched_ule.c

2007-09-27 Thread Jeff Roberson
jeff2007-09-27 16:39:27 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Honor the PREEMPTION and FULL_PREEMPTION flags by setting the default value for kern.sched.preempt_thresh appropriately. It can still by adjusted at runtime.

Re: cvs commit: src/sys/kern sched_ule.c

2007-09-24 Thread Alexey Dokuchaev
On Sat, Sep 22, 2007 at 02:20:14AM +, Jeff Roberson wrote: > We may also want to consider never allowing positively niced > processes to become interactive at all. net-p2p/linuxdcpp AFAIK renices itself up to 1 yet still being, naturally, an interactive app. ./danfe __

cvs commit: src/sys/kern sched_ule.c

2007-09-23 Thread Jeff Roberson
jeff2007-09-24 00:28:55 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Bound the interactivity score so that it cannot become negative. Approved by:re Revision ChangesPath 1.209 +1 -1 src/sys/kern/sched_ule.c

cvs commit: src/sys/kern sched_ule.c

2007-09-21 Thread Jeff Roberson
jeff2007-09-22 02:20:14 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Improve grammar. s/it's/its/. - Improve load long-term load balancer by always IPIing exactly once. Previously the delay after rebalancing could cause problems

cvs commit: src/sys/kern sched_ule.c

2007-08-19 Thread Jeff Roberson
jeff2007-08-20 06:34:20 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Set steal_thresh to log2(ncpus). This improves idle-time load balancing on 2cpu machines by reducing it to 1 by default. This improves loaded operation on 8

cvs commit: src/sys/kern sched_ule.c

2007-08-03 Thread Jeff Roberson
jeff2007-08-04 01:21:29 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Fix one line that erroneously crept in my last commit. Approved by:re Revision ChangesPath 1.204 +0 -1 src/sys/kern/sched_ule.c __

cvs commit: src/sys/kern sched_ule.c

2007-08-03 Thread Jeff Roberson
jeff2007-08-03 23:38:46 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Share scheduler locks between hyper-threaded cores to protect the tdq_group structure. Hyper-threaded cores won't really benefit from seperate locks anyway.

cvs commit: src/sys/kern sched_ule.c

2007-07-19 Thread Jeff Roberson
jeff2007-07-19 20:03:15 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Refine the load balancer to improve buildkernel times on dual core machines. - Leave the long-term load balancer running by default once per second. - Enable

cvs commit: src/sys/kern sched_ule.c

2007-07-19 Thread Jeff Roberson
jeff2007-07-19 19:51:45 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - When newtd is specified to sched_switch() it was not being initialized properly. We have to temporarily unlock the TDQ lock so we can lock the thread and add

Re: cvs commit: src/sys/kern sched_ule.c

2007-07-18 Thread Joao Barros
On 7/17/07, Jeff Roberson <[EMAIL PROTECTED]> wrote: jeff2007-07-17 22:53:24 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: ULE 3.0: Fine grain scheduler locking and affinity improvements. This has been in development for over 6 months a

cvs commit: src/sys/kern sched_ule.c

2007-07-17 Thread Jeff Roberson
jeff2007-07-17 22:53:24 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: ULE 3.0: Fine grain scheduler locking and affinity improvements. This has been in development for over 6 months as SCHED_SMP. - Implement one spin lock per thread-q

cvs commit: src/sys/kern sched_ule.c

2007-06-15 Thread Jeff Roberson
jeff2007-06-15 19:33:58 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Fix an off by one error in sched_pri_range. - In tdq_choose() only assert that a thread does not have too high a priority (low value) for the queue we removed i

cvs commit: src/sys/kern sched_ule.c

2007-06-04 Thread Jeff Roberson
jeff2007-06-05 02:53:51 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Define TDQ_ID() for the !SMP case. - Default pick_pri to off. It is not faster in most cases. Revision ChangesPath 1.194 +2 -1 src/sys/kern/sch

cvs commit: src/sys/kern sched_ule.c

2007-04-19 Thread Kip Macy
kmacy 2007-04-20 05:45:47 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: Schedule the ithread on the same cpu as the interrupt Tested by: kmacy Submitted by: jeffr Revision ChangesPath 1.192 +1 -2 src/sys/kern/sched_

Re: cvs commit: src/sys/kern sched_ule.c

2007-03-17 Thread M. Warner Losh
In message: <[EMAIL PROTECTED]> Jeff Roberson <[EMAIL PROTECTED]> writes: : : On Sat, 17 Mar 2007, Max Laier wrote: : : > On Saturday 17 March 2007 20:09, Jeff Roberson wrote: : >> Any language lawyers care to comment on this? : > : > I find this strange. According to the spec "(Decr

cvs commit: src/sys/kern sched_ule.c

2007-03-17 Thread Jeff Roberson
jeff2007-03-17 23:32:48 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Handle the case where slptime == runtime. Submitted by: Atoine Brodin Revision ChangesPath 1.191 +5 -1 src/sys/kern/sched_ule.c

Re: cvs commit: src/sys/kern sched_ule.c

2007-03-17 Thread Bruce Evans
On Sat, 17 Mar 2007, Jeff Roberson wrote: Any language lawyers care to comment on this? Don't all C programmers know this? :) On Sat, 17 Mar 2007, Jeff Roberson wrote: jeff2007-03-17 18:13:33 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log:

Re: cvs commit: src/sys/kern sched_ule.c

2007-03-17 Thread Christoph Mallon
Max Laier schrieb: On Saturday 17 March 2007 20:09, Jeff Roberson wrote: Any language lawyers care to comment on this? I find this strange. According to the spec "(Decrementing is equivalent to subtracting 1.)", but "pri = --pri % RQ_NQS;" will behave like you expect, while "pri = (pri - 1)

Re: cvs commit: src/sys/kern sched_ule.c

2007-03-17 Thread Jeff Roberson
On Sat, 17 Mar 2007, Max Laier wrote: On Saturday 17 March 2007 20:09, Jeff Roberson wrote: Any language lawyers care to comment on this? I find this strange. According to the spec "(Decrementing is equivalent to subtracting 1.)", but "pri = --pri % RQ_NQS;" will behave like you expect, whi

Re: cvs commit: src/sys/kern sched_ule.c

2007-03-17 Thread Max Laier
On Saturday 17 March 2007 20:09, Jeff Roberson wrote: > Any language lawyers care to comment on this? I find this strange. According to the spec "(Decrementing is equivalent to subtracting 1.)", but "pri = --pri % RQ_NQS;" will behave like you expect, while "pri = (pri - 1) % RQ_NQS;" clearly d

Re: cvs commit: src/sys/kern sched_ule.c

2007-03-17 Thread Jeff Roberson
Any language lawyers care to comment on this? On Sat, 17 Mar 2007, Jeff Roberson wrote: jeff2007-03-17 18:13:33 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Cast the intermediate value in priority computtion back down to unsigned char.

cvs commit: src/sys/kern sched_ule.c

2007-03-17 Thread Jeff Roberson
jeff2007-03-17 18:13:33 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Cast the intermediate value in priority computtion back down to unsigned char. Weirdly, casting the 1 constant to u_char still produces a signed integer resu

Re: cvs commit: src/sys/kern sched_ule.c

2007-01-26 Thread Alfred Perlstein
* Alfred Perlstein <[EMAIL PROTECTED]> [070126 14:34] wrote: > * Jeff Roberson <[EMAIL PROTECTED]> [070125 19:47] wrote: > > > > On Thu, 25 Jan 2007, Jeff Roberson wrote: > > > > >jeff2007-01-25 23:52:00 UTC > > > > > > FreeBSD src repository > > > > > > Modified files: > > > sys/kern

Re: cvs commit: src/sys/kern sched_ule.c

2007-01-26 Thread Alfred Perlstein
* Jeff Roberson <[EMAIL PROTECTED]> [070125 19:47] wrote: > > On Thu, 25 Jan 2007, Jeff Roberson wrote: > > >jeff2007-01-25 23:52:00 UTC > > > > FreeBSD src repository > > > > Modified files: > > sys/kern sched_ule.c > > Log: > > - Implement much more intelligent ipi sendin

Re: cvs commit: src/sys/kern sched_ule.c

2007-01-25 Thread Jeff Roberson
On Thu, 25 Jan 2007, Jeff Roberson wrote: jeff2007-01-25 23:52:00 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Implement much more intelligent ipi sending. This algorithm tries to minimize IPIs and rescheduling when scheduling like ta

cvs commit: src/sys/kern sched_ule.c

2007-01-25 Thread Jeff Roberson
jeff2007-01-25 23:52:00 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Implement much more intelligent ipi sending. This algorithm tries to minimize IPIs and rescheduling when scheduling like tasks while keeping latency low for

cvs commit: src/sys/kern sched_ule.c

2007-01-25 Thread Jeff Roberson
jeff2007-01-25 19:14:12 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Get rid of the unused DIDRUN flag. This was really only present to support sched_4bsd. - Rename the KTR level for non schedgraph parsed events. They take even

cvs commit: src/sys/kern sched_ule.c

2007-01-24 Thread Jeff Roberson
jeff2007-01-24 18:18:43 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - With a sleep time over 2097 seconds hzticks and slptime could end up negative. Use unsigned integers for sleep and run time so this doesn't disturb sched_int

Re: cvs commit: src/sys/kern sched_ule.c

2007-01-24 Thread Jeff Roberson
On Wed, 24 Jan 2007, David Xu wrote: Jeff Roberson wrote: On Wed, 24 Jan 2007, David Xu wrote: Jeff Roberson wrote: if idlethread is preempted, who will clear its idle bit in idle_cpus_mask ? idle_cpus_mask was broken before for all schedulers. This commit didn't change that. ULE doe

Re: cvs commit: src/sys/kern sched_ule.c

2007-01-23 Thread David Xu
Jeff Roberson wrote: On Wed, 24 Jan 2007, David Xu wrote: Jeff Roberson wrote: if idlethread is preempted, who will clear its idle bit in idle_cpus_mask ? idle_cpus_mask was broken before for all schedulers. This commit didn't change that. ULE doesn't use idle_cpus_mask and it's idlet

Re: cvs commit: src/sys/kern sched_ule.c

2007-01-23 Thread Jeff Roberson
On Wed, 24 Jan 2007, David Xu wrote: Jeff Roberson wrote: if idlethread is preempted, who will clear its idle bit in idle_cpus_mask ? idle_cpus_mask was broken before for all schedulers. This commit didn't change that. ULE doesn't use idle_cpus_mask and it's idlethread doesn't set or cl

Re: cvs commit: src/sys/kern sched_ule.c

2007-01-23 Thread David Xu
Jeff Roberson wrote: if idlethread is preempted, who will clear its idle bit in idle_cpus_mask ? idle_cpus_mask was broken before for all schedulers. This commit didn't change that. ULE doesn't use idle_cpus_mask and it's idlethread doesn't set or clear it. The idle thread for the other

Re: cvs commit: src/sys/kern sched_ule.c

2007-01-23 Thread Jeff Roberson
On Wed, 24 Jan 2007, David Xu wrote: On Tuesday 23 January 2007 16:50, Jeff Roberson wrote: jeff2007-01-23 08:50:34 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Catch up to setrunqueue/choosethread/etc. api changes. - Define our

Re: cvs commit: src/sys/kern sched_ule.c

2007-01-23 Thread David Xu
On Tuesday 23 January 2007 16:50, Jeff Roberson wrote: > jeff2007-01-23 08:50:34 UTC > > FreeBSD src repository > > Modified files: > sys/kern sched_ule.c > Log: >- Catch up to setrunqueue/choosethread/etc. api changes. >- Define our own maybe_preempt() as sche

cvs commit: src/sys/kern sched_ule.c

2007-01-23 Thread Jeff Roberson
jeff2007-01-23 08:50:34 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Catch up to setrunqueue/choosethread/etc. api changes. - Define our own maybe_preempt() as sched_preempt(). We want to be able to preempt idlethread in all cas

cvs commit: src/sys/kern sched_ule.c

2007-01-20 Thread Jeff Roberson
jeff2007-01-20 21:24:05 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Disable the long-term load balancer. I believe that steal_busy works better and gives more predictable results. Revision ChangesPath 1.182 +1 -1

cvs commit: src/sys/kern sched_ule.c

2007-01-20 Thread Jeff Roberson
jeff2007-01-20 17:03:33 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - We do need to IPI the idlethread on some systems. It may be stuck in a power saving mode otherwise. - If the thread is already bound in sched_bind() unbind it

Re: cvs commit: src/sys/kern sched_ule.c

2007-01-20 Thread Robert Watson
On Sat, 20 Jan 2007, Jeff Roberson wrote: jeff2007-01-20 09:03:43 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - In tdq_transfer() always set NEEDRESCHED when necessary regardless of the ipi settings. If NEEDRESCHED is set and an ipi is

cvs commit: src/sys/kern sched_ule.c

2007-01-20 Thread Jeff Roberson
jeff2007-01-20 09:03:43 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - In tdq_transfer() always set NEEDRESCHED when necessary regardless of the ipi settings. If NEEDRESCHED is set and an ipi is later delivered it will clear it

cvs commit: src/sys/kern sched_ule.c

2007-01-19 Thread Jeff Roberson
jeff2007-01-19 21:56:08 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: Major revamp of ULE's cpu load balancing: - Switch back to direct modification of remote CPU run queues. This added a lot of complexity with questionable gain. I

cvs commit: src/sys/kern sched_ule.c

2007-01-06 Thread Jeff Roberson
jeff2007-01-06 12:33:43 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Don't let SCHED_TICK_TOTAL() return less than hz. This can cause integer divide faults in roundup() later if it is able to return 0. For some reason this bu

cvs commit: src/sys/kern sched_ule.c

2007-01-06 Thread Jeff Roberson
jeff2007-01-06 08:44:13 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Fix the sched_priority() invalid priority bugs. Use roundup() instead of max() when computing the divisor in SCHED_TICK_PRI(). This prevents cases where rou

cvs commit: src/sys/kern sched_ule.c

2007-01-05 Thread Jeff Roberson
jeff2007-01-06 02:34:23 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Don't IPI unless we're going to interrupt something exiting in the kernel. otherwise we can afford the latency. This makes a significant performance improvem

cvs commit: src/sys/kern sched_ule.c

2007-01-05 Thread Jeff Roberson
jeff2007-01-05 23:45:38 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Fix a comparison in sched_choose() that caused cpus to be constantly marked idle, thus breaking cpu load balancing. - Change sched_interact_update() to fix case

cvs commit: src/sys/kern sched_ule.c

2007-01-05 Thread Jeff Roberson
jeff2007-01-05 08:50:38 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - ftick was initialized to -1 for init and any of it's children. Fix this by setting ftick = ltick = ticks in schedinit(). - Update the priority when we are pull

cvs commit: src/sys/kern sched_ule.c

2007-01-04 Thread Jeff Roberson
jeff2007-01-04 12:16:19 UTC FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Only allow the tdq_idx to increase by one each tick rather than up to the most recently chosen index. This significantly improves nice behavior. This allows

  1   2   >