linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
	linux-arch <linux-arch@vger.kernel.org>,
	Jason Wang <jasowang@redhat.com>,
	virtualization list <virtualization@lists.linux-foundation.org>
Subject: Re: [PATCH 8/8] virtio_ring.h: do not include <stdint.h> from exported header
Date: Tue, 5 Apr 2022 07:55:22 -0400	[thread overview]
Message-ID: <20220405074223-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <YkvpT3PFcbgcMCWy@infradead.org>

On Tue, Apr 05, 2022 at 12:01:35AM -0700, Christoph Hellwig wrote:
> On Tue, Apr 05, 2022 at 08:29:36AM +0200, Arnd Bergmann wrote:
> > I think the users all have their own copies, at least the ones I could
> > find on codesearch.debian.org. However, there are 27 virtio_*.h
> > files in include/uapi/linux that probably should stay together for
> > the purpose of defining the virtio protocol, and some others might
> > be uapi relevant.
> > 
> > I see that at least include/uapi/linux/vhost.h has ioctl() definitions
> > in it, and includes the virtio_ring.h header indirectly.
> 
> Uhh.  We had a somilar mess (but at a smaller scale) in nvme, where
> the uapi nvme.h contained both the UAPI and the protocol definition.
> We took a hard break to only have a nvme_ioctl.h in the uapi header
> and linux/nvme.h for the protocol.  This did break a bit of userspace
> compilation (but not running obviously) at the time, but really made
> the headers much easier to main.  Some userspace keeps on copying
> nvme.h with the protocol definitions.

So far we are quite happy with the status quo, I don't see any issues
maintaining the headers. And yes, through vhost and vringh they are part
of UAPI.

Yes users have their own copies but they synch with the kernel.

That's generally. Specifically the vring_init thing is a legacy thingy
used by kvmtool and maybe others, and it inits the ring in the way that
vring/virtio expect.  Has been there since day 1 and we are careful not
to add more stuff like that, so I don't see a lot of gain from incurring
this pain for users.

-- 
MST


  reply	other threads:[~2022-04-05 13:32 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-04  6:19 [PATCH 0/8] UAPI: make more exported headers self-contained, and put them into test coverage Masahiro Yamada
2022-04-04  6:19 ` [PATCH 1/8] agpgart.h: do not include <stdlib.h> from exported header Masahiro Yamada
2022-04-04  7:40   ` Christoph Hellwig
2022-04-04 17:27   ` Nick Desaulniers
2022-04-04  6:19 ` [PATCH 2/8] kbuild: prevent exported headers from including <stdlib.h>, <stdbool.h> Masahiro Yamada
2022-04-04  7:41   ` Christoph Hellwig
2022-04-04  8:01     ` Arnd Bergmann
2022-04-04  8:03     ` Masahiro Yamada
2022-04-04 17:34     ` Nick Desaulniers
2022-04-05  1:12       ` Masahiro Yamada
2022-04-04  6:19 ` [PATCH 3/8] riscv: add linux/bpf_perf_event.h to UAPI compile-test coverage Masahiro Yamada
2022-04-04  7:41   ` Christoph Hellwig
2022-04-04  6:19 ` [PATCH 4/8] mips: add asm/stat.h " Masahiro Yamada
2022-04-04  7:42   ` Christoph Hellwig
2022-04-04  6:19 ` [PATCH 5/8] powerpc: " Masahiro Yamada
2022-04-04  7:42   ` Christoph Hellwig
2022-04-04  6:19 ` [PATCH 6/8] sparc: " Masahiro Yamada
2022-04-04  7:43   ` Christoph Hellwig
2022-04-04  6:19 ` [PATCH 7/8] posix_types.h: add __kernel_uintptr_t to UAPI posix_types.h Masahiro Yamada
2022-04-04 11:30   ` kernel test robot
2022-04-04 11:51     ` Masahiro Yamada
2022-04-04 12:02       ` Masahiro Yamada
2022-04-04 11:51   ` kernel test robot
2022-04-04 13:04   ` kernel test robot
2022-04-04  6:19 ` [PATCH 8/8] virtio_ring.h: do not include <stdint.h> from exported header Masahiro Yamada
2022-04-04  7:44   ` Christoph Hellwig
2022-04-04  7:58     ` Masahiro Yamada
2022-04-04  8:04     ` Arnd Bergmann
2022-04-05  5:35       ` Christoph Hellwig
2022-04-05  6:29         ` Arnd Bergmann
2022-04-05  7:01           ` Christoph Hellwig
2022-04-05 11:55             ` Michael S. Tsirkin [this message]
2022-04-05 11:57           ` Michael S. Tsirkin
2022-04-05 11:59     ` Michael S. Tsirkin
2022-04-05 11:57   ` Michael S. Tsirkin
2022-04-04  7:34 ` [PATCH 0/8] UAPI: make more exported headers self-contained, and put them into test coverage Arnd Bergmann
2022-05-13  8:43   ` Masahiro Yamada
2022-05-13  9:01     ` Arnd Bergmann
2022-05-13  9:13       ` Masahiro Yamada

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=20220405074223-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=arnd@arndb.de \
    --cc=hch@infradead.org \
    --cc=jasowang@redhat.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=virtualization@lists.linux-foundation.org \
    /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;
as well as URLs for NNTP newsgroup(s).