Re: [PATCH V2 3/9] fork: move PF_IO_WORKER's kernel frame setup to new flag

From: Christian Brauner
Date: Wed Sep 22 2021 - 08:39:53 EST


On Wed, Sep 22, 2021 at 02:32:37PM +0200, Geert Uytterhoeven wrote:
> Hi Mike,
>
> On Tue, Sep 21, 2021 at 11:55 PM Mike Christie
> <michael.christie@xxxxxxxxxx> wrote:
> > The vhost worker threads need the same frame setup as io_uring's worker
> > threads, but handle signals differently and do not need the same
> > scheduling behavior. This patch separate's the frame setup parts of
> > PF_IO_WORKER into a kernel_clone_args flag, KERN_WORKER_USER.
> >
> > Signed-off-by: Mike Christie <michael.christie@xxxxxxxxxx>
>
> Thanks for your patch!
>
> > --- a/arch/m68k/kernel/process.c
> > +++ b/arch/m68k/kernel/process.c
> > @@ -157,7 +157,8 @@ int copy_thread(unsigned long clone_flags, unsigned long usp, unsigned long arg,
> > */
> > p->thread.fs = get_fs().seg;
> >
> > - if (unlikely(p->flags & (PF_KTHREAD | PF_IO_WORKER))) {
> > + if (unlikely(p->flags & (PF_KTHREAD) ||
> > + worker_flags & KERN_WORKER_USER)) {
>
> I guess it wouldn't hurt to add parentheses to improve
> readability:
>
> if (unlikely((p->flags & (PF_KTHREAD)) ||
> (worker_flags & KERN_WORKER_USER))) {

Yep, I stumbled over the same thing!