[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM_iQpWewprQzQgMWk0yMr=LCFUCGztJ4+G-NFt8gqe81XuUcg@mail.gmail.com>
Date: Mon, 10 Mar 2025 19:27:31 -0700
From: Cong Wang <xiyou.wangcong@...il.com>
To: Andrey Ryabinin <arbn@...dex-team.com>
Cc: linux-kernel@...r.kernel.org, Alexander Graf <graf@...zon.com>,
James Gowans <jgowans@...zon.com>, Mike Rapoport <rppt@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>, linux-mm@...ck.org,
Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>, x86@...nel.org,
"H . Peter Anvin" <hpa@...or.com>, Eric Biederman <ebiederm@...ssion.com>, kexec@...ts.infradead.org,
Pratyush Yadav <ptyadav@...zon.de>, Jason Gunthorpe <jgg@...dia.com>,
Pasha Tatashin <pasha.tatashin@...een.com>, David Rientjes <rientjes@...gle.com>
Subject: Re: [PATCH v2 0/7] KSTATE: a mechanism to migrate some part of the
kernel state across kexec
Hi Andrey,
On Mon, Mar 10, 2025 at 5:04 AM Andrey Ryabinin <arbn@...dex-team.com> wrote:
> Each driver/subsystem has to solve this problem in their own way.
> Also if we use fdt properties for individual fields, that might be wastefull
> in terms of used memory, as these properties use strings as keys.
>
> While with KSTATE solves the same problem in more elegant way, with this:
> struct kstate_description a_state = {
> .name = "a_struct",
> .version_id = 1,
> .id = KSTATE_TEST_ID,
> .state_list = LIST_HEAD_INIT(test_state.state_list),
> .fields = (const struct kstate_field[]) {
> KSTATE_BASE_TYPE(i, struct a, int),
> KSTATE_BASE_TYPE(s, struct a, char [10]),
> KSTATE_POINTER(p_ulong, struct a),
> KSTATE_PAGE(page, struct a),
> KSTATE_END_OF_LIST()
> },
> };
Hmm, this still requires manual efforts to implement this, so potentially
a lot of work given how many drivers we have in-tree.
And those KSTATE_* stuffs look a lot similar to BTF:
https://docs.kernel.org/bpf/btf.html
So, any possibility to reuse BTF here? Note, BTF is automatically
generated by pahole, no manual effort is required.
Regards,
Cong Wang
Powered by blists - more mailing lists