[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1348601679.12068.17.camel@maxim-laptop>
Date: Tue, 25 Sep 2012 21:34:39 +0200
From: Maxim Levitsky <maximlevitsky@...il.com>
To: Tejun Heo <tj@...nel.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Alex Dubov <oakad@...oo.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 memstick: support for legacy sony memsticks
On Tue, 2012-09-25 at 11:02 -0700, Tejun Heo wrote:
> Hello,
>
> > * Swithced to using a workqueue.
> > Unfortunelly, I still see that workqueue items are executed in parallel
> > I suspect that this happens if one work item sleeps. In this case I
> > don't want other work items to run too. I fixed this with a mutex, and anyway
> > it nice to have it to guaranteee this.
>
> You can use alloc_ordered_workqueue("namefmt", WQ_MEM_RECLAIM). No
> mutex needed for inter-work exclusion.
But this just adds the WQ_UNBOUND. Dunno, without lock I had several
crashes, that for high level of confidence caused by by parallel
execution of work items. Once I added this mutex, I couldnt reproduce
these.
I had the __blk_end_request fail with NULL msb->req. I can't see how
that can happen if work queue isn't executed in parallel.
(and then the I didn't even had by mistake the code that sets it to NULL
in msb_stop, so I really fail to see how that could happen due internal
bug in my code.
>
> Thanks.
>
--
Best regards,
Maxim Levitsky
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists