[PATCH 4/7] vhost: improve Vhost layer logs
Maxime Coquelin
maxime.coquelin at redhat.com
Tue Jan 25 11:50:31 CET 2022
On 1/4/22 15:48, David Marchand wrote:
> On Thu, Dec 23, 2021 at 9:37 AM Maxime Coquelin
> <maxime.coquelin at redhat.com> wrote:
>>
>> This patch prepends Vhost logs with the Vhost-user socket
>> patch when available to ease filtering logs for a given port.
>>
>> Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
>> ---
>> lib/vhost/vhost.c | 104 +++++++++++++++++++++++-----------------------
>> 1 file changed, 51 insertions(+), 53 deletions(-)
>>
>> diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c
>> index e52d7f7bb6..dac0915ac0 100644
>> --- a/lib/vhost/vhost.c
>> +++ b/lib/vhost/vhost.c
>> @@ -58,9 +58,8 @@ __vhost_iova_to_vva(struct virtio_net *dev, struct vhost_virtqueue *vq,
>>
>> vhost_user_iotlb_pending_insert(dev, vq, iova, perm);
>> if (vhost_user_iotlb_miss(dev, iova, perm)) {
>> - VHOST_LOG_CONFIG(ERR,
>> - "IOTLB miss req failed for IOVA 0x%" PRIx64 "\n",
>> - iova);
>> + VHOST_LOG_DATA(ERR, "(%s) IOTLB miss req failed for IOVA 0x%" PRIx64 "\n",
>> + dev->ifname, iova);
>
> This change from CONFIG to DATA looks unrelated, and a separate fix
> (which could go with another fix, see below).
>
I'm adding this one and the below one you spotted in a dedicated patch.
>> vhost_user_iotlb_pending_remove(vq, iova, 1, perm);
>> }
>>
>
> [snip]
>
>>
>> @@ -422,9 +421,9 @@ translate_log_addr(struct virtio_net *dev, struct vhost_virtqueue *vq,
>> gpa = hva_to_gpa(dev, hva, exp_size);
>> if (!gpa) {
>> VHOST_LOG_CONFIG(ERR,
>
> translate_log_addr is called from vring_translate which is called from datapath.
> So this log should be _DATA, in a separate fix.
>
>
>> - "VQ: Failed to find GPA for log_addr: 0x%"
>> + "(%s) failed to find GPA for log_addr: 0x%"
>> PRIx64 " hva: 0x%" PRIx64 "\n",
>> - log_addr, hva);
>> + dev->ifname, log_addr, hva);
>> return 0;
>> }
>> return gpa;
>> @@ -551,16 +550,15 @@ init_vring_queue(struct virtio_net *dev, uint32_t vring_idx)
>> int numa_node = SOCKET_ID_ANY;
>>
>> if (vring_idx >= VHOST_MAX_VRING) {
>> - VHOST_LOG_CONFIG(ERR,
>> - "Failed not init vring, out of bound (%d)\n",
>> - vring_idx);
>> + VHOST_LOG_CONFIG(ERR, "(%s) failed not init vring, out of bound (%d)\n",
>
> failed to*
Fixed in this patch.
>
>> + dev->ifname, vring_idx);
>> return;
>> }
>>
>> vq = dev->virtqueue[vring_idx];
>> if (!vq) {
>> - VHOST_LOG_CONFIG(ERR, "Virtqueue not allocated (%d)\n",
>> - vring_idx);
>> + VHOST_LOG_CONFIG(ERR, "(%s) virtqueue not allocated (%d)\n",
>> + dev->ifname, vring_idx);
>> return;
>> }
>>
>
> The rest lgtm.
>
>
Thanks,
Maxime
More information about the dev
mailing list