I've never had any success with the ULE scheduler on my dual Athlon box running RELENG_5; it was so unstable it made Windows 3.1 look stable. In fact my current build, cvsup'd a couple of days ago, won't even boot with ULE. From what I remember, ULE was intended to become the default scheduler during the life of 5.0 but that hasn't happened. I've just cvsup'd the source for RELENG_6 and I'm surprised to find in the GENERIC config file: #options SCHED_ULE # ULE scheduler options SCHED_4BSD # 4BSD scheduler so it seems 4BSD is still the default scheduler. Is ULE _still_ considered to be in development/experimental? Even the SMP config file doesn't use ULE. Also in GENERIC: options PREEMPTION # Enable kernel thread preemption [....] options ADAPTIVE_GIANT # Giant mutex is adaptive. Yet in src/sys/conf/NOTES, ADAPTIVE_GIANT is listed under SMP Options and PREEMPTION is listed under SMP Debugging Options which makes it surprising that they are in the GENERIC config file. What I am trying to decide is whether there any point in making the jump from a very stable RELENG_5 system to RELENG_6. AIUI the ULE scheduler and it's associated options optimize the use of multiple CPUs and by staying with 4BSD I'm not getting the best performance from my system. Can anyone offer any advice on this please? The machine has dual Athlon MP2800s on a Asus A7M266-D mobo, 1Gbyte ECC RAM and all SCSI disks and optical drives. TIA. Regards, Mark
Mark Ovens wrote:> I've never had any success with the ULE scheduler on my dual Athlon > box running RELENG_5; it was so unstable it made Windows 3.1 look > stable. In fact my current build, cvsup'd a couple of days ago, won't > even boot with ULE. > > From what I remember, ULE was intended to become the default scheduler > during the life of 5.0 but that hasn't happened. > > I've just cvsup'd the source for RELENG_6 and I'm surprised to find in > the GENERIC config file: > > #options SCHED_ULE # ULE scheduler > options SCHED_4BSD # 4BSD scheduler > > so it seems 4BSD is still the default scheduler. Is ULE _still_ > considered to be in development/experimental? Even the SMP config file > doesn't use ULE.There have been substantial improvements made to it since 5. However no one will be able to tell you if its 100% ready, you will just have to try it on your system.
> What I am trying to decide is whether there any point in making the jump > from a very stable RELENG_5 system to RELENG_6. AIUI the ULE scheduler > and it's associated options optimize the use of multiple CPUs and by > staying with 4BSD I'm not getting the best performance from my system.I'm not using ULE either - but I got a 15 percent speedup out of our SMP systems when moving from RELENG_5 to 6.0-RELEASE. Definitely worth doing in my opinion and am now upgrading all the production systems to 6.0> Can anyone offer any advice on this please?Yes, do it. Its a definite improvement. -pcf.
Mark Ovens wrote:> I've never had any success with the ULE scheduler on my dual Athlon > box running RELENG_5; it was so unstable it made Windows 3.1 look > stable. In fact my current build, cvsup'd a couple of days ago, won't > even boot with ULE. > > From what I remember, ULE was intended to become the default scheduler > during the life of 5.0 but that hasn't happened. > > I've just cvsup'd the source for RELENG_6 and I'm surprised to find in > the GENERIC config file: > > #options SCHED_ULE # ULE scheduler > options SCHED_4BSD # 4BSD scheduler > > so it seems 4BSD is still the default scheduler. Is ULE _still_ > considered to be in development/experimental? Even the SMP config file > doesn't use ULE. > > Also in GENERIC: > > options PREEMPTION # Enable kernel thread preemption > > [....] > > options ADAPTIVE_GIANT # Giant mutex is adaptive. > > Yet in src/sys/conf/NOTES, ADAPTIVE_GIANT is listed under SMP Options > and PREEMPTION is listed under SMP Debugging Options which makes it > surprising that they are in the GENERIC config file. > > What I am trying to decide is whether there any point in making the > jump from a very stable RELENG_5 system to RELENG_6. AIUI the ULE > scheduler and it's associated options optimize the use of multiple > CPUs and by staying with 4BSD I'm not getting the best performance > from my system. > > Can anyone offer any advice on this please? > > The machine has dual Athlon MP2800s on a Asus A7M266-D mobo, 1Gbyte > ECC RAM and all SCSI disks and optical drives. > >I have been benchmarking a Java servlet under ULE, and I couldn't get result scores as high under ULE as I could under the regular the 4BSD (although it wasn't far off) and when I left the machine benchmarking all night under ULE I came back in the morning to find the machine unresponsive and in need of a hard reboot. Mike
Pete French wrote:>> What I am trying to decide is whether there any point in making the jump >> from a very stable RELENG_5 system to RELENG_6. AIUI the ULE scheduler >> and it's associated options optimize the use of multiple CPUs and by >> staying with 4BSD I'm not getting the best performance from my system. > > I'm not using ULE either - but I got a 15 percent speedup out of our SMP > systems when moving from RELENG_5 to 6.0-RELEASE. Definitely worth doing > in my opinion and am now upgrading all the production systems to 6.0 > >> Can anyone offer any advice on this please? > > Yes, do it. Its a definite improvement. >OK, I've done it, and am pleased with the result :) Thanks to everyone for the info about the current state of ULE. I'm sticking with 4BSD as the box is rock solid with that. Regards, Mark