Re: Ways to deprecate /sys/devices/system/memory/memoryX/phys_device ?

From: Michal Hocko
Date: Fri Sep 11 2020 - 03:20:50 EST


On Thu 10-09-20 22:31:09, David Hildenbrand wrote:
>
>
> > Am 10.09.2020 um 22:01 schrieb Dave Hansen <dave.hansen@xxxxxxxxx>:
> >
> > On 9/10/20 3:20 AM, David Hildenbrand wrote:
> >> I was just exploring how /sys/devices/system/memory/memoryX/phys_device
> >> is/was used. It's one of these interfaces that most probably never
> >> should have been added but now we are stuck with it.
> >
> > While I'm all for cleanups, what specific problems is phys_device causing?
> >
>
> Mostly stumbling over it, understanding that it is basically unused
> with new userspace for good reason, questioning its existence.
>
> E.g., I am working on virtio-mem support for s390x. Displaying
> misleading/wrong phys_device indications isn‘t particularly helpful
> - especially once there are different ways to hotplug memory for an
> architecture.
>
> > Are you hoping that we can just remove users of memoryX/* until there
> > are no more left, and this is the easiest place to start?
>
> At least reducing it to a minimum with clear semantics. Even with
> automatic onlining there are still reasons why we need to keep the
> interface for now (e.g., reloading kexec to update the kdump headers
> on memory hot(un)plug). But also standby memory handling on s399x
> requires it (->manual onlining).

While I agree that the existing interface is far from ideal, I am not
sure it makes much sense to invest energy into cleaning it up. We can
have a pig with a lipstick but but this will not solve the underlying
problem that we have I believe. The interface doesn't scale with the
block count (especially on some platforms like ppc), it is too
inflexible (single size of the block) and many others. I believe we need
a completely new interface which would effectively deprecate the
existing one. One could still chose to use the old interface but new
usecases would use the new one ideally.

I have brought that up earlier already without much follow up
(http://lkml.kernel.org/r/20200619120704.GD12177@xxxxxxxxxxxxxx)

--
Michal Hocko
SUSE Labs