Re: [PATCH v9 1/4] arm64: mte: implement CONFIG_ARM64_MTE_COMP

From: Alexander Potapenko
Date: Thu Dec 14 2023 - 04:27:56 EST


On Wed, Dec 13, 2023 at 1:16 PM Will Deacon <will@xxxxxxxxxx> wrote:
>
> On Tue, Dec 12, 2023 at 05:16:15PM +0000, Catalin Marinas wrote:
> > On Mon, Nov 13, 2023 at 11:52:30AM +0100, Alexander Potapenko wrote:
> > > The config implements the algorithm compressing memory tags for ARM MTE
> > > during swapping.
> > >
> > > The algorithm is based on RLE and specifically targets buffers of tags
> > > corresponding to a single page. In many cases a buffer can be compressed
> > > into 63 bits, making it possible to store it without additional memory
> > > allocation.
> > >
> > > Suggested-by: Evgenii Stepanov <eugenis@xxxxxxxxxx>
> > > Signed-off-by: Alexander Potapenko <glider@xxxxxxxxxx>
> >
> > Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>
> >
> > > +void mte_tags_to_ranges(u8 *tags, u8 *out_tags, unsigned short *out_sizes,
> > > + size_t *out_len)
> > > +{
> > [...]
> > > +}
> > > +EXPORT_SYMBOL_NS(mte_tags_to_ranges, MTECOMP);
> >
> > I may have asked before, what the reason for EXPORT_SYMBOL_NS? Is it for
> > the kunit tests? Otherwise we don't expect those to be accessed from
> > modules.
>
> It looks like it. The Kconfig option for the test is tristate and it calls
> this symbol directly.
>
> Will

What Will said.