[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87a5xpkzau.fsf@email.froward.int.ebiederm.org>
Date: Sat, 27 May 2023 20:41:29 -0500
From: "Eric W. Biederman" <ebiederm@...ssion.com>
To: Mike Christie <michael.christie@...cle.com>
Cc: Oleg Nesterov <oleg@...hat.com>, linux@...mhuis.info,
nicolas.dichtel@...nd.com, axboe@...nel.dk,
torvalds@...ux-foundation.org, linux-kernel@...r.kernel.org,
virtualization@...ts.linux-foundation.org, mst@...hat.com,
sgarzare@...hat.com, jasowang@...hat.com, stefanha@...hat.com,
brauner@...nel.org
Subject: Re: [PATCH 3/3] fork, vhost: Use CLONE_THREAD to fix freezer/ps
regression
Mike Christie <michael.christie@...cle.com> writes:
> On 5/23/23 7:15 AM, Oleg Nesterov wrote:
>>
>> Now the main question. Whatever we do, SIGKILL/SIGSTOP/etc can come right
>> before we call work->fn(). Is it "safe" to run this callback with
>> signal_pending() or fatal_signal_pending() ?
>
> The questions before this one I'll leave for the core vhost devs since
> they know best.
Let me ask a clarifying question:
Is it only the call to schedule() in vhost_worker that you are worried
about not sleeping if signal_pending() or fatal_signal_pending()?
Is there concern that the worker functions aka "work->fn()" will also
have killable or interruptible sleeps that also will misbehave.
We can handle schedule() in vhost_worker without problem.
If a worker function has interruptible or killable sleeps that will turn
into busy waits or worse not sleeping long enough that seems like a
problem. There is no way to guarantee that the outer loop of
vhost_worker will protect the worker functions from signal_pending()
or fatal_signal_pending() becoming true.
Eric
Powered by blists - more mailing lists