Re: [PATCH v3] mm: vmalloc: Replace purge_lock spinlock with atomic refcount

From: Christoph Hellwig
Date: Mon Oct 17 2016 - 05:33:15 EST


On Sun, Oct 16, 2016 at 03:48:42PM -0700, Joel Fernandes wrote:
> Also, one more thing about the barrier dances you mentioned, this will
> also be done by the spinlock which was there before my patch. So in
> favor of my patch, it doesn't make things any worse than they were and
> actually fixes the reported issue while preserving the original code
> behavior. So I think it is a good thing to fix the issue considering
> so many people are reporting it and any clean ups of the vmalloc code
> itself can follow.

I'm not worried about having barriers, we use them all over our
synchronization primitives. I'm worried about opencoding them
instead of having them in these well defined helpers.

So based on this discussion and the feedback from Nick I'll
propose a new patch (or rather a series to make it more understandable)
that adds a mutex, adds the lockbreak and gives sensible calling
conventions to __purge_vmap_area_lazy.