virtio-comment.lists.oasis-open.org archive mirror
 help / color / mirror / Atom feed
From: Parav Pandit <parav@nvidia.com>
To: Cornelia Huck <cohuck@redhat.com>,
	Peter Hilber <peter.hilber@opensynergy.com>,
	"virtio-comment@lists.oasis-open.org"
	<virtio-comment@lists.oasis-open.org>
Subject: [virtio-comment] RE: [RFC PATCH v3 3/4] virtio-rtc: Add alarm feature
Date: Thu, 1 Feb 2024 05:53:29 +0000	[thread overview]
Message-ID: <PH0PR12MB5481E7A8617CD35F67360589DC432@PH0PR12MB5481.namprd12.prod.outlook.com> (raw)
In-Reply-To: <874jewkrq2.fsf@redhat.com>



> From: Cornelia Huck <cohuck@redhat.com>
> Sent: Monday, January 29, 2024 10:22 PM
> 
> On Sun, Jan 28 2024, Parav Pandit <parav@nvidia.com> wrote:
> 
> >> From: Peter Hilber <peter.hilber@opensynergy.com>
> >> Sent: Wednesday, January 24, 2024 9:11 PM
> >>
> >> On 20.01.24 11:16, Parav Pandit wrote:
> >> >
> >> >
> >> >> From: Peter Hilber <peter.hilber@opensynergy.com>
> >> >> Sent: Monday, December 18, 2023 12:13 PM @@ -13,13 +14,23 @@
> >> >> \subsection{Virtqueues}\label{sec:Device Types / RTC Device /
> >> >> Virtqueues}
> >> >>
> >> >>  \begin{description}
> >> >>  \item[0] requestq
> >> >> +\item[1] alarmq
> >> >>  \end{description}
> >> >>
> >> >>  The driver enqueues requests to the requestq.
> >> >>
> >> >> +Through the alarmq, the device notifies the driver about alarm
> >> >> +expirations. The alarmq exists only if VIRTIO_RTC_F_ALARM was
> >> >> +negotiated.
> >> >> +
> >> > I think is a good example of a need of notification queue from
> >> > device to
> >> driver that has multiple use as generic object.
> >> > On NIC side also we have been thinking to have VQ that holds only
> >> > the
> >> completions as currently packed and splitvq unaligned and shorter
> >> completions are performance reducing areas.
> >> >
> >> > A queue which has 1 to 8 physical addresses, and which can hold 8
> >> > to 64B
> >> of notification will be useful.
> >> > This way per descriptor posting and DMA is not needed.
> >> > These notifications also work very fast with least amount of
> >> > descriptor
> >> caching on the device.
> >> >
> >> > For alarms this may not be concern at all in current form but
> >> > overall, such a
> >> generic infra has multiple uses.
> >> > So, I suggest we bring the notification queue.
> >>
> >> IIUC this notification queue still needs to be described.
> >>
> > Yes.
> > What we need is something like,
> >
> > A notification queue is a queue that holds device to driver notifications.
> > The device writes the notification entry, the driver consumes it.
> > Each notification entry consists of N bytes written by the device. Typically N
> bytes range from 8 to 64B.
> > Posting every descriptor of 16B for such small size entry is very inefficient;
> hence a notification queue is simpler enough that does not have one to one
> mapping of notification entry and descriptor.
> > A Notification descriptor points to a page memory. Each page holds one or
> more notification entries.
> > Number of notification entries in a descriptor = page_size /
> > notification entry size; For example, a notification queue consists of 2 4K
> pages, with 16B notification entry, can receive 512 notifications, with only
> two descriptors posting, offering 256X reduction in descriptors management
> at just 0.39% descriptor table size than current packed vq format.
> 
> This looks not entirely unlike ccw two-stage-indicators (which is in turn
> preceded by other uses of adapter interrupts with indicators, e.g. in QDIO).
> Can we learn from those earlier implementations?
> 
There are many implementations to learn from.
Not sure of your exact suggestion.

> However, while this looks like an interesting addition, I'm not sure we should
> make rtc wait for all of that (including your other suggestions) to be ready
> and approved -- a simpler rtc implementation has its advantages as well (like
> already being there, for example.) We can easily add things via feature bits
> later.

Alarm is the new feature posted for the first time if I recollect right, notification queue is for the alarm.
So the simple rtc without alarm using admin infrastructure can be part of the spec at earliest.

I am fine with "already being there" suggestion too, if we are ok to apply to wider areas than rtc.
Do you agree?


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


  reply	other threads:[~2024-02-01  5:53 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-18  6:42 [virtio-comment] [RFC PATCH v3 0/4] virtio-rtc: Add device specification Peter Hilber
2023-12-18  6:42 ` [virtio-comment] [RFC PATCH v3 1/4] virtio-rtc: Add initial " Peter Hilber
2024-01-20 10:07   ` [virtio-comment] " Parav Pandit
2024-01-24 15:39     ` [virtio-comment] " Peter Hilber
2024-01-28  6:15       ` [virtio-comment] " Parav Pandit
2024-02-08 11:57         ` Peter Hilber
2024-02-09 11:43           ` Cornelia Huck
2023-12-18  6:42 ` [virtio-comment] [RFC PATCH v3 2/4] virtio-rtc: Add initial normative statements Peter Hilber
2023-12-18  6:42 ` [virtio-comment] [RFC PATCH v3 3/4] virtio-rtc: Add alarm feature Peter Hilber
2023-12-22 18:57   ` Cornelia Huck
2023-12-25  4:18     ` Jason Wang
2024-01-11 11:43       ` Peter Hilber
2024-01-11 11:43     ` Peter Hilber
2024-01-15 15:54       ` Cornelia Huck
2024-01-16 11:06         ` Peter Hilber
2024-01-20 10:16   ` [virtio-comment] " Parav Pandit
2024-01-24 15:40     ` [virtio-comment] " Peter Hilber
2024-01-28  6:30       ` [virtio-comment] " Parav Pandit
2024-01-29 16:51         ` Cornelia Huck
2024-02-01  5:53           ` Parav Pandit [this message]
2023-12-18  6:42 ` [virtio-comment] [RFC PATCH v3 4/4] virtio-rtc: Add normative statements for " Peter Hilber

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=PH0PR12MB5481E7A8617CD35F67360589DC432@PH0PR12MB5481.namprd12.prod.outlook.com \
    --to=parav@nvidia.com \
    --cc=cohuck@redhat.com \
    --cc=peter.hilber@opensynergy.com \
    --cc=virtio-comment@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).