Re: [PATCH 1/2] sched/wait: Add wait_event_lock_irq_timeout for TASK_UNINTERRUPTIBLE usage

From: Ly, Bryant
Date: Wed Oct 10 2018 - 00:07:08 EST


Hi Nic,

Good to see you back!

> On Oct 9, 2018, at 10:23 PM, Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx> wrote:
>
> From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
>
> Short of reverting commit 00d909a107 for v4.19, target-core needs a
> wait_event_t marco can be executed using TASK_UNINTERRUPTIBLE to
> function correctly with existing fabric drivers that expect to run
> with signals pending during session shutdown and active se_cmd I/O
> quiesce.
>
> The most notable is iscsi-target/iser-target, while ibmvscsi_tgt invokes
> session shutdown logic from userspace via configfs attribute that could
> also potentially have signals pending.
>
> So go ahead and introduce wait_event_lock_irq_timeout() to achieve this,
> and update + rename __wait_event_lock_irq_timeout() to make it accept
> 'state' as a parameter.
>
> Fixes: 00d909a107 ("scsi: target: Make the session shutdown code also wait for commands that are being aborted")
> Cc: Bart Van Assche <bvanassche@xxxxxxx>
> Cc: Mike Christie <mchristi@xxxxxxxxxx>
> Cc: Hannes Reinecke <hare@xxxxxxxx>
> Cc: Christoph Hellwig <hch@xxxxxx>
> Cc: Sagi Grimberg <sagi@xxxxxxxxxxx>
> Cc: Bryant G. Ly <bryantly@xxxxxxxxxxxxxxxxxx>
> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> Tested-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
> ---
> include/linux/wait.h | 20 +++++++++++++++-----
> 1 file changed, 15 insertions(+), 5 deletions(-)
>
> diff --git a/include/linux/wait.h b/include/linux/wait.h
> index d9f131e..ed7c122 100644
> --- a/include/linux/wait.h
> +++ b/include/linux/wait.h
> @@ -1052,10 +1052,9 @@ void __wake_up_locked_key_bookmark(struct wait_queue_head *wq_head,
> __ret; \
> })
>
>

I do not technically work for IBM anymore as of 3 weeks ago, but my new company is a partnerâ Anyways,
IBM does invoke shutdown logic from userspace. Thanks for the patch!

Reviewed-by: Bryant G. Ly <bly@xxxxxxxxxxxxxxxxxxxxx>

-Bryant Ly