> From: Davidlohr Bueso <dave@xxxxxxxxxxxx> > Sent: Thursday, November 8, 2018 3:00 PM > > On Mon, 29 Oct 2018, chouryzhou(??????) wrote: > >@@ -63,6 +63,12 @@ struct ipc_namespace { > > unsigned int mq_msg_default; > > unsigned int mq_msgsize_default; > > > >+ /* next fields are for binder */ > >+ struct mutex binder_procs_lock; > >+ struct hlist_head binder_procs; > >+ struct mutex binder_contexts_lock; > >+ struct hlist_head binder_contexts; > > I don't think you want a mutex here protecting the binder_contexts list. > Afaict there is no concurrency going on: you only modify it in when doing > namespace init and exit (for which you have no serialization); do you even > need a lock here? Or at least I would think a more lightweight alternative > (rcu/spinlock/rwlock) would suffice. Yes, you're right, the binder_contexts is just modified when initing and exiting namespace, we don't need this lock. I will update the code you mentioned above. _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel