Re: Linux 5.16-rc1

From: Linus Torvalds
Date: Wed Nov 17 2021 - 20:54:27 EST


On Wed, Nov 17, 2021 at 5:26 PM Anton Altaparmakov <anton@xxxxxxxxxx> wrote:
>
> So is it worth doing the singly linked list to fix one file only to have compilation fail a few files later when it gets to mft.c?

Heh.

That does sound dubious.

Honestly, maybe the solution here is to just make the Kconfig depend
on the page size not being excessive for what NTFS wants to do.

Because I'm not sure that "powerpc with 64kB pages" is all that
relevant for NTFS to begin with.

The main problem is that the page size thing isn't some generic
Kconfig entry, different architectures have different names for it. On
PPC, the confic name is PPC_*K_PAGES and PPC_PAGE_SHIFT.

And arm64 has something very similar.

We have other things that do that, ie KASAN support has

select HAVE_ARCH_KASAN if PPC32 && PPC_PAGE_SHIFT <= 14

(and something very similar for arm64).

But those KASAN dependencies are inside the core architecture Kconfig
files, so it can fairly naturally use that page size config variable
as a conditional.

For something like NTFS, we don't really have a generic Kconfig
variable to test.

It wouldn't be _hard_ to add, but it would have to be done somewhat
sensibly and preferably in a way that doesn't require every
architecture to change how their page size selection (or lack of
selection) is done.

The simplest thing would probably be to add something like
config BIG_PAGES
bool

to some generic file, and then add

select BIG_PAGES

to PPC and arm64 for the 64kB+ page size, and add a

depends on !BIG_PAGES

to the NTFS Kconfig entry.

But that honestly looks a bit hacky to me. It would be less hacky to
just add a PAGE_SIZE config variable, and have architectures just set
it, and then NTFS could do

depends on PAGE_SIZE < 65536

or whatever. I just don't know if it's worth it if this is only for NTFS.

I dunno. It all seems a bit dubious.

Linus