Monday, August 10, 2020

Project C v5.8-r0 release

Project C v5.8-r0 is released with the following changes

1. Sync-up 5.8 mainline scheduler code changes.
2. Adjust task boost priority to +/-7, and change SCHED_BITS to 128.

It's one week delay than normal new mainline kernel release. Because there are lots of scheduler related sync-up in 5.8 kernel release. #2 has been asked by users, so here comes the +/- 7 boost priority and 128 bits SCHED_BITS, IMO, this should be well balance setting. But this just provides a more widely overlay in running priorities, it doesn't really change that BMQ is pure priority based scheduler.

PS, PDS porting has been started.

Full kernel tree repository can be found at https://gitlab.com/alfredchen/linux-prjc
And all-in-one patch can be found at gitlab.

Bug report at https://gitlab.com/alfredchen/projectc/issues

7 comments:

  1. Thanks Alfred! Built for i5 laptop, but x86 UP fails with:
    ----------------------------------------------------------
    kernel/sched/alt_core.c: In function ‘sched_init’:
    kernel/sched/alt_core.c:5846:22: error: ‘struct rq’ has no member named ‘nohz_csd’
    5846 | rq_csd_init(rq, &rq->nohz_csd, nohz_csd_func);
    | ^~
    kernel/sched/alt_core.c:5846:34: error: ‘nohz_csd_func’ undeclared (first use in this function)
    5846 | rq_csd_init(rq, &rq->nohz_csd, nohz_csd_func);
    | ^~~~~~~~~~~~~
    kernel/sched/alt_core.c:5846:34: note: each undeclared identifier is reported only once for each function it appears in
    At top level:
    kernel/sched/alt_core.c:144:18: warning: ‘sched_sg_idle_mask’ defined but not used [-Wunused-variable]
    144 | static cpumask_t sched_sg_idle_mask ____cacheline_aligned_in_smp;
    | ^~~~~~~~~~~~~~~~~~

    ReplyDelete
    Replies
    1. Thanks for reporting. https://gitlab.com/alfredchen/linux-prjc/-/commit/476c03d6ff0dac967b1abf17dea79fb6b3e9f602 should fixed this issue.

      Delete
    2. Built x86 UP k5.8.1 and now running on the old EeePC 701 netbook. ;-)

      Delete
  2. Compiled and booted fine on Ryzen@home, played Doom Eternal, browse, YT, all seems to be fine.

    Alfred, can You explain in simple words, what is the effect of "Adjust task boost priority to +/-7, and change SCHED_BITS to 128."? Interativity improvement or throughput, no improvement or both or ...?

    BR, Eduardo

    ReplyDelete
    Replies
    1. Hi, Eduardo,
      For boost priority, here is the discussion https://cchalpha.blogspot.com/2020/06/bmq-v57-r1-release.html#comment-form
      This should has very little impact for interactivity or throughput.

      Delete
  3. I'm new to your work, I've used BFS in the past... BMQ vs PDS, which one should I choose for a laptop? (gnome desktop, web browsing, software development, occasional retrogaming)

    ReplyDelete
    Replies
    1. https://flightlessmango.com/benchmarks/XDXMkN8m_FY

      Delete