From: "Thomas Weißschuh" <linux@weissschuh.net>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
linux-kernel@vger.kernel.org, Zhangjin Wu <falcon@tinylab.org>,
Willy Tarreau <w@1wt.eu>, Yuan Tan <tanyuan@tinylab.org>
Subject: Re: [PATCH RFC] misc/pvpanic: add support for normal shutdowns
Date: Sat, 4 Nov 2023 14:53:37 +0100 [thread overview]
Message-ID: <59ed7f70-2953-443e-9fa5-d46c566e4a08@t-8ch.de> (raw)
In-Reply-To: <2023110431-pacemaker-pruning-0e4c@gregkh>
On 2023-11-04 14:28:37+0100, Greg Kroah-Hartman wrote:
> On Sat, Nov 04, 2023 at 02:16:53PM +0100, Thomas Weißschuh wrote:
> > On 2023-11-04 14:05:02+0100, Greg Kroah-Hartman wrote:
> > > On Sat, Nov 04, 2023 at 12:29:30PM +0100, Thomas Weißschuh wrote:
> > > > Shutdown requests are normally hardware dependent.
> > > > By extending pvpanic to also handle shutdown requests, guests can
> > > > submit such requests with an easily implementable and cross-platform
> > > > mechanism.
> > > >
> > > > Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> > > > ---
> > > > The corresponding patch to qemu has also been submitted[0].
> > > > General discussions about the feature should happen on the other thread.
> > > >
> > > > [0] https://lore.kernel.org/qemu-devel/20231104-pvpanic-shutdown-v1-0-02353157891b@t-8ch.de/
> > > > ---
> > > > drivers/misc/pvpanic/pvpanic.c | 19 +++++++++++++++++--
> > > > include/uapi/misc/pvpanic.h | 1 +
> > > > 2 files changed, 18 insertions(+), 2 deletions(-)
> >
> > [..]
> >
> > > > diff --git a/include/uapi/misc/pvpanic.h b/include/uapi/misc/pvpanic.h
> > > > index 54b7485390d3..82fc618bfbcf 100644
> > > > --- a/include/uapi/misc/pvpanic.h
> > > > +++ b/include/uapi/misc/pvpanic.h
> > > > @@ -5,5 +5,6 @@
> > > >
> > > > #define PVPANIC_PANICKED (1 << 0)
> > > > #define PVPANIC_CRASH_LOADED (1 << 1)
> > > > +#define PVPANIC_SHUTDOWN (1 << 2)
> > >
> > > Why are these in a uapi file?
> >
> > They are ABI between qemu and its guest.
>
> But there's no interaction between Linux and userspace for these values,
> so I would just drop them from here.
There is one point where they are used:
The pvpanic sysfs files 'events' and 'capability' contain numeric values
which are using these constants.
>
> > The specification for these values is part of qemu but for some reason
> > the header is part of Linux which is then imported back into qemu.
> >
> > I guess this has historical reasons, maybe because qemu doesn't really
> > ship ABI headers and for Linux it's natural.
>
> That feels odd, are there other in-kernel examples of the Linux uapi
> files being abused like this?
Looking at qemu scripts/update-linux-headers.sh at least
linux/qemu_fw_cfg.h and linux/pci_regs.h seem similar in that they are
not directly related to Linux' own uapi.
(Assuming you want *one* and not *all* examples)
> > The real reason probably doesn't matter today as the header propably
> > can't be dropped from Linux anyways for compatibility reasons.
> >
> > > And if they need to be here, why not use the proper BIT() macro for it?
> >
> > This was for uniformity with the existing code.
> > I can send a (standalone?) patch to fix it up.
>
> If we keep it, sure, that would be nice. But let's try to drop it if
> possible :)
It will break the mentioned scripts/update-linux-headers.sh from qemu.
Note:
BIT() is part of include/vdso/bits.h which is not part of the
uapi. How is it supposed to work?
Some other uapi header also use BIT() but that seems to work by accident
as the users have the macro defined themselves.
Thomas
next prev parent reply other threads:[~2023-11-04 13:53 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-04 11:29 Thomas Weißschuh
2023-11-04 13:05 ` Greg Kroah-Hartman
2023-11-04 13:16 ` Thomas Weißschuh
2023-11-04 13:28 ` Greg Kroah-Hartman
2023-11-04 13:53 ` Thomas Weißschuh [this message]
2023-11-04 13:56 ` Willy Tarreau
2023-11-04 17:07 ` Greg Kroah-Hartman
2023-11-04 17:32 ` Thomas Weißschuh
2023-11-05 6:59 ` Willy Tarreau
2024-02-13 10:41 ` Michael S. Tsirkin
2024-02-21 17:18 ` Thomas Weißschuh
2024-02-28 6:48 ` Thomas Weißschuh
2024-02-28 7:02 ` Arnd Bergmann
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=59ed7f70-2953-443e-9fa5-d46c566e4a08@t-8ch.de \
--to=linux@weissschuh.net \
--cc=arnd@arndb.de \
--cc=falcon@tinylab.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tanyuan@tinylab.org \
--cc=w@1wt.eu \
/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®