Hi! Am 23.08.2014 15:47, schrieb Thorsten Knabe: > From: Thorsten Knabe <li...@thorsten-knabe.de> > > UML: UBD: Fix for processes stuck in D state forever in UserModeLinux. > > Starting with Linux 3.12 processes get stuck in D state forever in > UserModeLinux under sync heavy workloads. This bug was introduced by > commit 805f11a0d5 (um: ubd: Add REQ_FLUSH suppport). > Fix bug by adding a check if FLUSH request was successfully submitted to > the I/O thread and keeping the FLUSH request on the request queue on > submission failures. > > Fixes: 805f11a0d5 (um: ubd: Add REQ_FLUSH suppport) > Signed-off-by: Thorsten Knabe <li...@thorsten-knabe.de>
Thanks a lot for hunting this issue down. > --- > Patch applies to 3.16.1. > > diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c > index 3716e69..b7d2840 100644 > --- a/arch/um/drivers/ubd_kern.c > +++ b/arch/um/drivers/ubd_kern.c > @@ -1277,7 +1277,7 @@ static void do_ubd_request(struct request_queue *q) > > while(1){ > struct ubd *dev = q->queuedata; > - if(dev->end_sg == 0){ > + if(dev->request == NULL){ Why do we need this specific change? Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/