Tuesday, June 30, 2020

Project C v5.7.5-r2 release

Project C v5.7.5-r2 is released with the following changes

1. Adapt to Project C infrastructure
2. v5.7.5 Sync-up fix for https://gitlab.com/alfredchen/projectc/-/issues/17

Now, all things has moved to Project C, will continue to fix things left in the incoming release. Please be noticed that the bmq.timeslice kernel parameter has been changed to sched_timeslice.

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

12 comments:

  1. Unfortunately does not compile, see issue #18. SHould be simple to fix though.

    ReplyDelete
    Replies
    1. I can confirm that the kernel does not compile.

      Delete
    2. Thanks for reporting. Should be fixed, pls check https://gitlab.com/alfredchen/projectc/-/issues/18

      Delete
  2. This comment has been removed by the author.

    ReplyDelete
  3. The same error as in issue #18 with 5.7.7 and prjc-v5.7.5-r2. With "old" bmq-v5.7-r1 everything is ok. Kernel compiles, and - so now - works well.

    ReplyDelete
  4. how can i apply this patch to zen kernel?

    ReplyDelete
    Replies
    1. This is not easy, because first you have to remove MUQSS and related entries in ZEN Interactive. Only then do you have to add a BMQ.

      Delete
  5. With kernel 5.7.7 have build error:

    RELOCS arch/x86/realmode/rm/realmode.relocs
    kernel/sched/alt_core.c:1611:6: error: redefinition of 'scheduler_ipi'
    1611 | void scheduler_ipi(void)
    | ^~~~~~~~~~~~~
    In file included from kernel/sched/alt_sched.h:4,
    from kernel/sched/sched.h:6,
    from kernel/sched/alt_core.c:14:
    ./include/linux/sched.h:1747:29: note: previous definition of 'scheduler_ipi' was here
    1747 | static __always_inline void scheduler_ipi(void)
    | ^~~~~~~~~~~~~

    ReplyDelete
    Replies
    1. Pls check your kernel tree is clean and mainline code only.
      https://gitlab.com/alfredchen/linux-prjc/-/blob/linux-5.7.y-prjc/include/linux/sched.h
      Line 1748, should be
      static inline void scheduler_ipi(void) { }

      Delete
  6. If the timeslice is too small on a slow CPU the scheduler will lock up?
    It completely locks up somehow on a Atom CPU.

    ReplyDelete
    Replies
    1. sched_timeslice is default 4ms, and I use 2ms on my desktop NUC. The default also works on respberry pi 2. For you question, I think more information is needed.

      Delete
    2. @Anonymous:
      I'd also suggest experimenting with the sched_timeslice kernel command line parameter, i.e. here, increasing it above 4000.
      For my 12 years old Core2Duo (2 cores, 2.26GHz, no HT) 6000 came out as good for interactivity, preventing desktop + video stuttering. (But I had no load related lockups with 2000 or the default 4000 -- only severe mouse pointer/ video playback lags.)

      Happy testing!
      BR, Manuel

      Delete