[sheepdog] [PATCH v2 1/3] sheep: make {register, unregister}_event thread safe

Hitoshi Mitake mitake.hitoshi at gmail.com
Tue Dec 17 07:58:07 CET 2013


At Tue, 17 Dec 2013 14:50:19 +0800,
Liu Yuan wrote:
> 
> On Tue, Dec 17, 2013 at 03:42:29PM +0900, Hitoshi Mitake wrote:
> > At Tue, 17 Dec 2013 14:31:56 +0800,
> > Liu Yuan wrote:
> > > 
> > > This allow us to call even handling functions in worker thread
> > > 
> > > Signed-off-by: Liu Yuan <namei.unix at gmail.com>
> > > ---
> > 
> > I think this change is dangerous. This permits worker threads to
> > unregister events even if these events are processed in the main
> > thread. Making a new work queue and delegate it to register/unregister
> > events would be safer.
> 
> This scheme is not pratical for async request.
> 
> This is just internal API, which are supported to be called by programmers
> and check it is correct.

The checking will cost us lots of time. The problem is a race
condition caused by multiple threads. From the perspective of
maintenance and debugging, I cannot agree with this patch. Adding a
new workqueue for register/unregister in the main loop will save lots
of our time in the future.

Thanks,
Hitoshi



More information about the sheepdog mailing list