From: Jonah Palmer <jonah.palmer@oracle.com>
To: Jason Wang <jasowang@redhat.com>, qemu-devel@nongnu.org
Cc: fam@euphon.net, kwolf@redhat.com, thuth@redhat.com,
qemu-block@nongnu.org, mst@redhat.com, michael.roth@amd.com,
david@redhat.com, armbru@redhat.com, amit@kernel.org,
dgilbert@redhat.com, eric.auger@redhat.com,
dmitrii.stepanov@cloud.ionos.com, kraxel@redhat.com,
stefanha@redhat.com, pbonzini@redhat.com, si-wei.liu@oracle.com,
marcandre.lureau@redhat.com, joao.m.martins@oracle.com,
mreitz@redhat.com, Boris Ostrovsky <boris.ostrovsky@oracle.com>,
laurent@vivier.eu
Subject: Re: [PATCH v6 6/6] hmp: add virtio commands
Date: Mon, 26 Jul 2021 05:38:20 -0400 [thread overview]
Message-ID: <219acf01-e2bb-7498-fade-a1eaead46522@oracle.com> (raw)
In-Reply-To: <d0ef30f7-518a-1e16-489c-c85889a3b9e2@redhat.com>
On 7/22/21 5:18 AM, Jason Wang wrote:
>
> 在 2021/7/21 下午5:11, Jonah Palmer 写道:
>>
>>
>> On 7/13/21 10:40 PM, Jason Wang wrote:
>>>
>>> 在 2021/7/12 下午6:35, Jonah Palmer 写道:
>>>> +void hmp_virtio_queue_status(Monitor *mon, const QDict *qdict)
>>>> +{
>>>> + Error *err = NULL;
>>>> + const char *path = qdict_get_try_str(qdict, "path");
>>>> + int queue = qdict_get_int(qdict, "queue");
>>>> + VirtQueueStatus *s = qmp_x_debug_virtio_queue_status(path,
>>>> queue, &err);
>>>> +
>>>> + if (err != NULL) {
>>>> + hmp_handle_error(mon, err);
>>>> + return;
>>>> + }
>>>> +
>>>> + monitor_printf(mon, "%s:\n", path);
>>>> + monitor_printf(mon, " device_type: %s\n",
>>>> + VirtioType_str(s->device_type));
>>>> + monitor_printf(mon, " index: %d\n",
>>>> s->queue_index);
>>>> + monitor_printf(mon, " inuse: %d\n", s->inuse);
>>>> + monitor_printf(mon, " last_avail_idx: %d (%"PRId64" %%
>>>> %"PRId64")\n",
>>>> + s->last_avail_idx, s->last_avail_idx %
>>>> s->vring_num,
>>>> + s->vring_num);
>>>> + monitor_printf(mon, " shadow_avail_idx: %d (%"PRId64" %%
>>>> %"PRId64")\n",
>>>> + s->shadow_avail_idx, s->shadow_avail_idx %
>>>> s->vring_num,
>>>> + s->vring_num);
>>>> + monitor_printf(mon, " used_idx: %d (%"PRId64" %%
>>>> %"PRId64")\n",
>>>> + s->used_idx, s->used_idx % s->vring_num,
>>>> s->vring_num);
>>>
>>>
>>> The modular information is not the case of packed ring where the
>>> queue size does not have to be a power of 2.
>> Doesn't modulo work for any integer, regardless if it's a power of 2
>> or not? Could you clarify this for me?
>
>
> For packed ring, the index doesn't increase freely, it's always small
> than the virtqueue size.
>
> So showing the modulo arithmetic seems useless since the device or
> driver doesn't use modulo for calculating the real offset.
>
> Thanks
I see, got it. Thank you for the explanation.
I should be able to easily determine a packed or split ring via.
virtio_vdev_has_feature(vq->vdev, VIRTIO_F_RING_PACKED).
Jonah
>
>
>>
>> Thank you,
>
next prev parent reply other threads:[~2021-07-26 9:40 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-12 10:35 [PATCH v6 0/6] hmp, qmp: Add some commands to introspect virtio devices Jonah Palmer
2021-07-12 10:35 ` [PATCH v6 1/6] qmp: add QMP command x-debug-query-virtio Jonah Palmer
2021-08-07 12:35 ` Markus Armbruster
2021-08-10 6:36 ` Jonah Palmer
2021-08-23 13:27 ` Markus Armbruster
2021-08-26 6:18 ` Jonah Palmer
2021-09-01 11:15 ` Markus Armbruster
2021-07-12 10:35 ` [PATCH v6 2/6] qmp: add QMP command x-debug-virtio-status Jonah Palmer
2021-08-07 12:42 ` Markus Armbruster
2021-08-10 6:50 ` Jonah Palmer
2021-09-03 8:26 ` Michael S. Tsirkin
2021-07-12 10:35 ` [PATCH v6 3/6] qmp: decode feature bits in virtio-status Jonah Palmer
2021-07-12 10:35 ` [PATCH v6 4/6] qmp: add QMP command x-debug-virtio-queue-status Jonah Palmer
2021-07-14 2:37 ` Jason Wang
2021-07-21 8:59 ` Jonah Palmer
2021-07-22 9:22 ` Jason Wang
2021-07-26 9:33 ` Jonah Palmer
2021-08-26 6:25 ` Jonah Palmer
2021-08-27 3:11 ` Jason Wang
2021-08-07 12:45 ` Markus Armbruster
2021-08-10 7:25 ` Jonah Palmer
2021-07-12 10:35 ` [PATCH v6 5/6] qmp: add QMP command x-debug-virtio-queue-element Jonah Palmer
2021-07-12 10:35 ` [PATCH v6 6/6] hmp: add virtio commands Jonah Palmer
2021-07-14 2:40 ` Jason Wang
2021-07-21 9:11 ` Jonah Palmer
2021-07-22 9:18 ` Jason Wang
2021-07-26 9:38 ` Jonah Palmer [this message]
2021-07-13 15:25 ` [PATCH v6 0/6] hmp,qmp: Add some commands to introspect virtio devices Michael S. Tsirkin
2021-07-14 2:42 ` [PATCH v6 0/6] hmp, qmp: " Jason Wang
2021-07-21 8:53 ` Jonah Palmer
2021-07-22 9:16 ` Jason Wang
2021-07-26 9:11 ` Jonah Palmer
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=219acf01-e2bb-7498-fade-a1eaead46522@oracle.com \
--to=jonah.palmer@oracle.com \
--cc=amit@kernel.org \
--cc=armbru@redhat.com \
--cc=boris.ostrovsky@oracle.com \
--cc=david@redhat.com \
--cc=dgilbert@redhat.com \
--cc=dmitrii.stepanov@cloud.ionos.com \
--cc=eric.auger@redhat.com \
--cc=fam@euphon.net \
--cc=jasowang@redhat.com \
--cc=joao.m.martins@oracle.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=laurent@vivier.eu \
--cc=marcandre.lureau@redhat.com \
--cc=michael.roth@amd.com \
--cc=mreitz@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=si-wei.liu@oracle.com \
--cc=stefanha@redhat.com \
--cc=thuth@redhat.com \
/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).