On Sun, Jul 20, 2014 at 09:00:02PM +0200, David Herrmann wrote: > Hi > > On Sun, Jul 20, 2014 at 8:54 PM, Dmitry Torokhov > <dmitry.torokhov@xxxxxxxxx> wrote: > > On Sun, Jul 20, 2014 at 08:48:12PM +0200, David Herrmann wrote: > >> evdev->client_list is rcu-protected. There is no need to have a > >> separate spinlock just for the list. Either one is good enough, so lets > >> drop the spinlock. > >> > >> Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> > >> --- > >> Hi > >> > >> I stumbled across this one when doing some evdev reviews. Maybe I'm missing > >> something obvious and I should stop coding on Sundays. But the RCU-protection > >> should be enough here, right? > > > > RCU protection is for traversing list only, writes (as is adding and removing > > elements from client_list) still have to be mutually exclusive. > > Oh, you mean to protect against concurrent writes? Right, but we could > just use evdev->mutex for that. I mean all paths that call > attach_client() or detach_client() already lock evdev->mutex at some > point. It would allow us to get rid of the lock. Right, we probably could do it by pulling taking/releasing evdev->mutex into evdev_pen and evdev_release. Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html