Re: [PATCH 4.19 16/17] kthread: Extract KTHREAD_IS_PER_CPU

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

> From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> 
> [ 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,
								Pavel

-- 
http://www.livejournal.com/~pavelmachek

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux