I wrote:
>To briefly summarize the previous post related to perf. degradation when 
>running a
>recent kernel...
>- kernel build running 1yr old kernel took     100minutes
>- same kernel build running recent kernel     148minutes
>(ie. Almost a 50% degradation.)
>As noted in the last post, I got rid of most of the degradation by disabling 
>- same kernel build running recent kernel with SCHED_4BSD   104minutes
After poking at this some more, it appears that r312426 is the main cause of
this degradation.
Doing SMP enabled test runs using SCHED_ULE running the recent kernel, I got:
- recent kernel  (as above)            148minutes
- with r312426 reverted                122minutes
- with the "obvious change" mentioned in r312426's commit message, using
   (flags & SW_TYPE_MASK) == SWT_RELINQUISH instead of (flag & SWT_RELINQUISH)

So, I'd say either reverting the patch or replacing it with the "obvious 
change" mentioned
in the commit message will at least mostly fix the problem.

I actually suspect that setting "preempt" for SWT_IDLE and/or SWT_IWAIT is what
is needed to be the pre-r312426 performance, since those are the ones that
SWT_RELINQUISH doesn't match. (There is also SWT_PREEMPT, but that was
handled by the r312426 patch.)
I also tested:
    ((flags & SW_PREEMPT) != 0 || (flags & SW_TYPE_MASK) == SWT_IDLE ||
      (flags & SW_TYPE_MASK) == SWT_IWAIT)
and it also resulted in                121minutes

I still get better perf. from SCHED_4BSD of 104minutes, but I usually see better
performance for SCHED_4BSD, so I think this is expected.

I know nothing about SCHED_ULE, so I don't think I can do more, unless someone
wants me to try a different patch?

freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to