Re: Found it! (was Re: [3.10] Oopses in kmem_cache_allocate() viaprepare_creds())

From: Al Viro
Date: Mon Dec 02 2013 - 11:46:17 EST


On Mon, Dec 02, 2013 at 05:27:55PM +0100, Ingo Molnar wrote:

> It's not like there should be many (any?) VFS operations where a pipe
> is used via i_mutex and pipe->mutex in parallel, which would improve
> scalability - so I don't see the scalability advantage. (But I might
> be missing something)
>
> Barring such kind of workload the extra mutex just adds extra
> micro-costs because now two locks have to be taken on
> creation/destruction, plus it adds extra complexity and races.
>
> So unless I'm missing something obvious, another good fix would be to
> just revert pipe->mutex and rely on i_mutex as before?

You are missing the extra shitloads of complexity in ->i_mutex ordering,
and ->i_mutex is already used for too many things...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/