mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Arnd Bergmann" <arnd@arndb.de>
To: "Linus Torvalds" <torvalds@linux-foundation.org>,
	"Christian Brauner" <brauner@kernel.org>
Cc: "Matthew Wilcox" <willy@infradead.org>,
	"Kirill A. Shutemov" <kas@kernel.org>,
	"Alexander Viro" <viro@zeniv.linux.org.uk>,
	"Miklos Szeredi" <miklos@szeredi.hu>,
	"Amit Shah" <amit@kernel.org>, "Jan Kara" <jack@suse.cz>,
	"David Hildenbrand (Red Hat)" <david@kernel.org>,
	"Zi Yan" <ziy@nvidia.com>, "Bernd Schubert" <bschubert@ddn.com>,
	"Hugh Dickins" <hughd@google.com>,
	"Baolin Wang" <baolin.wang@linux.alibaba.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"David S . Miller" <davem@davemloft.net>,
	"Eric Dumazet" <edumazet@kernel.org>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Simon Horman" <horms@kernel.org>,
	linux-fsdevel@vger.kernel.org, fuse-devel@lists.linux.dev,
	virtualization@lists.linux.dev, Netdev <netdev@vger.kernel.org>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	kernel-team@meta.com, "Malin Jonsson" <malin.jonsson@est.tech>,
	"Richard Weinberger" <richard@nod.at>,
	"Geert Uytterhoeven" <geert+renesas@glider.be>,
	"Nishanth Menon" <nm@ti.com>, "Frank Li" <frank.li@nxp.com>
Subject: Re: [PATCH 1/4] virtio_console: copy pipe buffers in splice_write()
Date: Thu, 12 Nov 2026 09:55:48 +0100	[thread overview]
Message-ID: <e94bdf7c-eae6-4f64-bf93-0aeedca1a22e@app.fastmail.com> (raw)
In-Reply-To: <CAHk-=wjGXBnme-N+HvbzHH40ftb7Suc=kZVT5cuintQWyMHJ7Q@mail.gmail.com>

On Wed, Nov 11, 2026, at 20:26, Linus Torvalds wrote:
> On Wed, 11 Nov 2026 at 10:53, Christian Brauner <brauner@kernel.org> wrote:
>>
>> If that's the official new stance than I'm very happy.
>
> I definitely want to remove HIGHMEM entirely in the not too distant
> future. And before we remove it, we can most definitely document the
> fact that we will not be worried about insane users.
>
> And things like security issues count as "insane user": if you use
> HIGHMEM outside of controlled embedded setups or museum pieces you get
> to keep both pieces when it breaks.
>
> IOW, it's legacy. We should aim to not introduce *new* bugs to it, but
> if there are pre-existing bugs they very much count as "don't care",
> this will be removed soon.

Agreed. There is also the option of adding Kconfig dependencies to
mark things that are known broken with highmem when we either know
that it is buggy, or we have a good reason to break something that
none of those remaining users should be using.

> I think the only reason it wasn't removed a couple of years ago
> already is basically a few old 32-bit ARM platforms that still used
> it.
>
> Those platforms still exist, and I predict that they'll still exist
> next year, but if those users have to stay at the current LTS kernel,
> that's fine.

I tried to push for what I thought was an aggressive timeline
last year, but that would still keep the Arm bits for a couple more
LTS releases and only gradually reduce the scope of highmem in the
meantime, removing support from architectures, file systems, and
drivers where possible. See https://lwn.net/Articles/1051010/
for a summary of my talk in Tokyo, including the slides and
a link to the video for anyone wanting more details.

I also prepared a number of patches towards this, but have so
far not been great at following up to get them merged, sorry
about that.
I definitely still want to revisit this soon, in particular the
bits about defaulting to VMSPLIT_2G_OPT, and probably my patch
to allow having (limited) discontiguous lowmem on Arm systems
with a large MMIO hole.

Scope-wise I think we absolutely need zsmalloc (zram/zswap)
on arm32 to work with GFP_HIGHUSER, but enough people have told me
that they still expect to need anonymous memory and ext4 page
cache for a while, and probably powerpc32. The majority
of __GFP_HIGHMEM allocations can probably just be converted
to use lowmem, which would eliminate a good chunk of kmap()
calls as well. In my attempts to do that, I came across two
problems I'd have to solve though:

 - Movable allocations (GFP_HIGHUSER_MOVABLE) imply highmem.
   while I think only 64-bit architectures support movable
   pages today, we cannot currently express an allocation
   that should be movable on 64-bit but lowmem on 32-bit.

 - Internal users of tmpfs (in particular DRM/GEM) usually
   don't want highmem or movable pages, but actual tmpfs
   does default to GFP_HIGHUSER_MOVABLE. Separating the two
   is complicated.

I added a few people to Cc here that I believe care about
having several more LTS releases with some highmem support
because of existing customer requirements.

     Arnd

  reply	other threads:[~2026-11-12  8:56 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-10 14:52 [PATCH 0/4] splice: remove pipe buffer stealing Kiryl Shutsemau (Meta)
2026-11-10 14:52 ` [PATCH 1/4] virtio_console: copy pipe buffers in splice_write() Kiryl Shutsemau (Meta)
2026-11-10 16:24   ` Zi Yan
2026-11-10 19:19   ` Matthew Wilcox
2026-11-11 12:36     ` Christian Brauner
2026-11-11 13:42       ` Christian Brauner
2026-11-11 16:43         ` Linus Torvalds
2026-11-11 18:53           ` Christian Brauner
2026-11-11 19:26             ` Linus Torvalds
2026-11-12  8:55               ` Arnd Bergmann [this message]
2026-11-12  9:09                 ` David Hildenbrand (Arm)
2026-11-12  9:25                   ` Arnd Bergmann
2026-11-12  9:28                     ` David Hildenbrand (Arm)
2026-11-10 14:52 ` [PATCH 2/4] fuse: don't move pipe buffers into the page cache Kiryl Shutsemau (Meta)
2026-11-10 16:25   ` Zi Yan
2026-11-11  9:02   ` Miklos Szeredi
2026-11-10 14:52 ` [PATCH 3/4] splice: remove pipe buffer stealing Kiryl Shutsemau (Meta)
2026-11-10 14:52 ` [PATCH 4/4] splice: replace nosteal_pipe_buf_ops with default_pipe_buf_ops Kiryl Shutsemau (Meta)
2026-11-10 15:59 ` [PATCH 0/4] splice: remove pipe buffer stealing Linus Torvalds
2026-11-11 11:06   ` Christian Brauner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e94bdf7c-eae6-4f64-bf93-0aeedca1a22e@app.fastmail.com \
    --to=arnd@arndb.de \
    --cc=akpm@linux-foundation.org \
    --cc=amit@kernel.org \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=brauner@kernel.org \
    --cc=bschubert@ddn.com \
    --cc=davem@davemloft.net \
    --cc=david@kernel.org \
    --cc=edumazet@kernel.org \
    --cc=frank.li@nxp.com \
    --cc=fuse-devel@lists.linux.dev \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=horms@kernel.org \
    --cc=hughd@google.com \
    --cc=jack@suse.cz \
    --cc=kas@kernel.org \
    --cc=kernel-team@meta.com \
    --cc=kuba@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=malin.jonsson@est.tech \
    --cc=miklos@szeredi.hu \
    --cc=netdev@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=pabeni@redhat.com \
    --cc=richard@nod.at \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@zeniv.linux.org.uk \
    --cc=virtualization@lists.linux.dev \
    --cc=willy@infradead.org \
    --cc=ziy@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®