[PATCH] nvme-multipath: add an 'ana_groups_only' module option

Christoph Hellwig hch at lst.de
Wed Feb 9 00:07:47 PST 2022


On Mon, Feb 07, 2022 at 11:00:05AM +0100, Hannes Reinecke wrote:
> On large installations the ANA log buffer can be exceedingly large;
> we've come across a controller with 49 ANA Group Descriptors and
> 65536 namespaces, resulting in an ANA buffer with an order-7 allocation.
> And this is just to validate that the namespace ID is _really_listed
> in the log page.
> So to avoid an overly large memory allocation we can leverage the
> 'RGO' bit when retrieving the ANA log page, and check whether the
> ANA group ID from the namespace is found in the ANA descriptors.
> That cuts down the memory allocation, and provides the same result.
> But to be on the safe side I've added a module option 'ana_groups_only'
> to switch between modes.

How is this supposed to work?  We'll fail to see what namespaces
the change applies to.

So in doubt fix the controller config to be less broken (and say hello
to NetApp and explain them they do not need more namespace for more
performance), and if that fails switch to a vmalloc allocation for
the buffer.



More information about the Linux-nvme mailing list