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/
next prev parent 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).