[lkml]   [2021]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 4.19 16/17] kthread: Extract KTHREAD_IS_PER_CPU

    > From: Peter Zijlstra <>
    > [ Upstream commit ac687e6e8c26181a33270efd1a2e2241377924b0 ]
    > There is a need to distinguish geniune per-cpu kthreads from kthreads
    > that happen to have a single CPU affinity.
    > Geniune per-cpu kthreads are kthreads that are CPU affine for
    > correctness, these will obviously have PF_KTHREAD set, but must also
    > have PF_NO_SETAFFINITY set, lest userspace modify their affinity and
    > ruins things.
    > However, these two things are not sufficient, PF_NO_SETAFFINITY is
    > also set on other tasks that have their affinities controlled through
    > other means, like for instance workqueues.
    > Therefore another bit is needed; it turns out kthread_create_per_cpu()
    > already has such a bit: KTHREAD_IS_PER_CPU, which is used to make
    > kthread_park()/kthread_unpark() work correctly.
    > Expose this flag and remove the implicit setting of it from
    > kthread_create_on_cpu(); the io_uring usage of it seems dubious at
    > best.

    AFAIK this should not be in 4.19/5.10 as it does not fix anything w/o
    5ba2ffba13a1e. Nobody calls kthread_is_per_cpu() in those kernels.

    Best regards,

    [unhandled content-type:application/pgp-signature]
     \ /
      Last update: 2021-02-07 00:26    [W:17.686 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site