Discussion of the implementations of VIRTIO specification
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: Cornelia Huck <cohuck@redhat.com>,
	David Hildenbrand <david@redhat.com>,
	"virtio-dev@lists.oasis-open.org"
	<virtio-dev@lists.oasis-open.org>,
	"virtio-comment@lists.oasis-open.org"
	<virtio-comment@lists.oasis-open.org>
Subject: Re: [virtio-dev] [PATCH v3 06/20] virtio-mem-balloon: Maintain mem balloon device spec in separate directory
Date: Wed, 11 Jan 2023 11:22:24 -0500	[thread overview]
Message-ID: <20230111111735-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PH0PR12MB5481F8DF03266EA84A2C3D2BDCFC9@PH0PR12MB5481.namprd12.prod.outlook.com>

On Wed, Jan 11, 2023 at 04:01:42PM +0000, Parav Pandit wrote:
> 
> > From: Cornelia Huck <cohuck@redhat.com>
> > Sent: Wednesday, January 11, 2023 10:57 AM
> > 
> > On Wed, Jan 11 2023, David Hildenbrand <david@redhat.com> wrote:
> > 
> > > On 11.01.23 16:01, Parav Pandit wrote:
> > >> Hi David,
> > >
> > > Hi Parav,
> > >
> > >>
> > >>> From: David Hildenbrand <david@redhat.com>
> > >>> Sent: Wednesday, January 11, 2023 9:14 AM
> > >>> To: Parav Pandit <parav@nvidia.com>; mst@redhat.com;
> > >>> virtio-dev@lists.oasis- open.org; cohuck@redhat.com
> > >>> Cc: virtio-comment@lists.oasis-open.org
> > >>> Subject: Re: [virtio-dev] [PATCH v3 06/20] virtio-mem-balloon:
> > >>> Maintain mem balloon device spec in separate directory
> > >>>
> > >>> On 11.01.23 00:03, Parav Pandit wrote:
> > >>>> Move virtio memory balloon device specification to its own file
> > >>>> similar to recent virtio devices.
> > >>>> While at it, place device specification, its driver and device
> > >>>> conformance into its own directory to have self contained device
> > >>>> specification.
> > >>>>
> > >>>> Fixes: https://github.com/oasis-tcs/virtio-spec/issues/153
> > >>>> Signed-off-by: Parav Pandit <parav@nvidia.com>
> > >>>>
> > >>>
> > >>> There is virtio-mem and there is virtio-balloon. Calling
> > >>> virtio-balloon "virtio- mem-balloon" can easily lead to quite some
> > >>> confusion. Any particular reason why not to stick to "virtio-balloon" ?
> > >>>
> > >> Historically Linux memory balloon driver in linux is placed as
> > >> virtio_balloon.c
> > >
> > > See below. id=5 has widespread "virtio-balloon" terminology use. id=13
> > > is what creates confusion.
> > >
> > >> In virtio spec, in the device type is it named as "Traditional memory balloon
> > device".
> > >> So, I named the directory name close to actual spec content name.
> > >> Adding legacy/traditional was too long. :) May be virtio-mem-legacy
> > >> is better to differentiate between legacy and new mem device?
> > >
> > > As it has nothing to do with virtio-mem, that would be confusing.
> > > Also, legacy doesn't quite catch the semantics.
> > 
> > Indeed, "Traditional" != "legacy".
> > 
> > >
> > >>
> > >> In this patchset, directories are named with "virtio-" prefix such as virtio-
> > pmem, virtio-sound.
> > >>
> > >> Another option (which I prefer as I write now) is, How about we drop
> > >> "virtio-" prefix in the directory name because this is the virtio spec.
> > >>
> > >> And have names as
> > >> device-types/sound
> > >> device-types/legacy-mem-balloon
> > >> device-types/mem
> > >> device-types/pmem
> > >>
> > >> This is short and covers balloon part too?
> > >
> > > Looking at
> > > https://lore.kernel.org/all/20220516204913.542894-71-mst@redhat.com/
> > >
> > > We seem to have virtio-balloon (id=5) and virtio-mem-balloon (if=13).
> > >
> > > virtio-balloon is what's actually implemented and used. "Traditional"
> > > is a bit misleading here.
> > >
> > > IMHO, we could/should
> > >
> > > * Name it "balloon" here
> > > * Make "id=13" reserved and remove the notion of "memory balloon" from
> > >    the spec
> > > * Call "id=5" "Memory Balloon" and remove the notion of "Traditional".
> > >    It's the one that exists.
> > 
> > I think the "Traditional" came from the idea that we eventually wanted to come
> > up with a new ballooner that doesn't come with any legacy baggage that the
> You meant "traditional baggage" and not "legacy baggage"?

I think the big problem with balloon is it's passing of
PFNs for 4k pages around. I'm not going to pass judgement on whether it's easier
to pass 64 bit addresses and huge pages around with a modified
traditional balloon or a completely new device until someone
tries. The fact no one fixed this in the traditional device seems to
hint that yes, we will need a new device at some point.


> > current ballooner might have. AFAIK, that idea has been abandoned in the
> > years since we introduced virtio-1, nobody has proposed something for id 13.
> > Your suggestion makes sense to me, but we probably should do it on top of the
> > patch set here.
> > 
> > For this series, using virtio-balloon for the file name makes the most sense to
> > me.
> Can you please explain this?
> The spec description for this device is " Traditional Memory Balloon Device".
> So why do you want to drop the "memory" part of it? Can it balloon non memory resources?

Because it's not the distinctive part, there are other memory devices.
This one is different because it's a balloon.

> Or is it to avoid confusion with device id 24?
> 
> Also, I want to drop the prefix "virtio_" in the directory names.
> Any opinion on that?

I'm fine with this. But I agree mem-balloon is not a good file name,
let's just stick with balloon. It's unambigous and short.

> Dropping and adding back will be too labor intensive.
> So, want to settle down on that before sending v4.


  reply	other threads:[~2023-01-11 16:22 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-10 23:03 [PATCH v3 00/20] Split device spec to its individual files Parav Pandit
2023-01-10 23:03 ` [PATCH v3 01/20] virtio-network: Maintain network device spec in separate directory Parav Pandit
2023-01-10 23:03 ` [PATCH v3 02/20] virtio-network: Fix spelling errors Parav Pandit
2023-01-10 23:03 ` [PATCH v3 03/20] virtio-block: Maintain block device spec in separate directory Parav Pandit
2023-01-10 23:03 ` [PATCH v3 04/20] virtio-console: Maintain console " Parav Pandit
2023-01-10 23:03 ` [PATCH v3 05/20] virtio-entropy: Maintain entropy " Parav Pandit
2023-01-10 23:03 ` [PATCH v3 06/20] virtio-mem-balloon: Maintain mem balloon " Parav Pandit
2023-01-11 14:14   ` [virtio-dev] " David Hildenbrand
2023-01-11 14:55     ` Michael S. Tsirkin
2023-01-11 15:01     ` Parav Pandit
2023-01-11 15:42       ` David Hildenbrand
2023-01-11 15:56         ` [virtio-comment] " Cornelia Huck
2023-01-11 16:01           ` Parav Pandit
2023-01-11 16:22             ` Michael S. Tsirkin [this message]
2023-01-11 16:32               ` Parav Pandit
2023-01-10 23:03 ` [PATCH v3 07/20] virtio-scsi: Maintain scsi host " Parav Pandit
2023-01-10 23:03 ` [PATCH v3 08/20] virtio-gpu: Maintain gpu " Parav Pandit
2023-01-10 23:03 ` [PATCH v3 09/20] virtio-input: Maintain input " Parav Pandit
2023-01-10 23:03 ` [PATCH v3 10/20] virtio-crypto: Maintain crypto " Parav Pandit
2023-01-10 23:03 ` [PATCH v3 11/20] virtio-vsock: Maintain socket " Parav Pandit
2023-01-11 11:04   ` [virtio-comment] " Cornelia Huck
2023-01-10 23:03 ` [PATCH v3 12/20] virtio-fs: Maintain file system " Parav Pandit
2023-01-10 23:03 ` [PATCH v3 13/20] virtio-rpmb: Maintain rpmb " Parav Pandit
2023-01-10 23:03 ` [PATCH v3 14/20] virtio-iommu: Maintain iommu " Parav Pandit
2023-01-10 23:03 ` [PATCH v3 15/20] virtio-sound: Maintain sound " Parav Pandit
2023-01-10 23:03 ` [PATCH v3 16/20] virtio-mem: Maintain memory " Parav Pandit
2023-01-10 23:03 ` [PATCH v3 17/20] virtio-i2c: Maintain i2c " Parav Pandit
2023-01-10 23:03 ` [PATCH v3 18/20] virtio-scmi: Maintain scmi " Parav Pandit
2023-01-10 23:03 ` [PATCH v3 19/20] virtio-gpio: Maintain gpio " Parav Pandit
2023-01-11 10:52   ` [virtio-dev] " Cornelia Huck
2023-01-11 13:40     ` [virtio-comment] " Parav Pandit
2023-01-10 23:03 ` [PATCH v3 20/20] virtio-pmem: Maintain pmem " Parav Pandit

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=20230111111735-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=parav@nvidia.com \
    --cc=virtio-comment@lists.oasis-open.org \
    --cc=virtio-dev@lists.oasis-open.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