Messages in this thread |  | | Date | Mon, 3 Oct 2016 11:05:33 -0600 | From | Jason Gunthorpe <> | Subject | Re: [PATCH 4.4 022/118] IB/uverbs: Fix race between uverbs_close and remove_one |
| |
On Mon, Oct 03, 2016 at 02:28:40PM +0200, Vegard Nossum wrote:
> This lock is literally called "cleanup mutex" and it's not really > documented what data it protects. Is there a better solution here?
I agree it is very complex and hard to understand. This is why it needed patching :| The mutex is in fact pretty much locking code. (ensuring that ib_uverbs_cleanup_ucontext only runs on one thread during this race)
There are at least three locks involved in this process. I didn't see any obvious way to extend any of the other locks to handle this case.
The argument against most simple solutions (eg a rw lock rather than the srcu) has been performance on these paths.
Jason
|  |