History

vdpa: add new attribute VDPA_ATTR_DEV_MIN_VQ_SIZE

This attribute advertises the min value of virtqueue size. The value is 1 by default.

Wu Zongyong committed 5 years ago

Commit e47be841 parent 30a03df2 files · +6 −0Browse files

Unified · Split

2 files
  1. drivers/vdpa/vdpa.c +5 −0
  2. include/uapi/linux/vdpa.h +1 −0
drivers/vdpa/vdpa.c+5−0
@@ -500,6 +500,7 @@ vdpa_dev_fill(struct vdpa_device *vdev, struct sk_buff *msg, u32 portid, u32 seq · 499 unmodified lines
500 int flags, struct netlink_ext_ack *extack)500 int flags, struct netlink_ext_ack *extack)
501{501{
502 u16 max_vq_size;502 u16 max_vq_size;
503 u16 min_vq_size = 1;
503 u32 device_id;504 u32 device_id;
504 u32 vendor_id;505 u32 vendor_id;
505 void *hdr;506 void *hdr;
@@ -516,6 +517,8 @@ vdpa_dev_fill(struct vdpa_device *vdev, struct sk_buff *msg, u32 portid, u32 seq · 10 unmodified lines
516 device_id = vdev->config->get_device_id(vdev);517 device_id = vdev->config->get_device_id(vdev);
517 vendor_id = vdev->config->get_vendor_id(vdev);518 vendor_id = vdev->config->get_vendor_id(vdev);
518 max_vq_size = vdev->config->get_vq_num_max(vdev);519 max_vq_size = vdev->config->get_vq_num_max(vdev);
520 if (vdev->config->get_vq_num_min)
521 min_vq_size = vdev->config->get_vq_num_min(vdev);
519 522
520 err = -EMSGSIZE;523 err = -EMSGSIZE;
521 if (nla_put_string(msg, VDPA_ATTR_DEV_NAME, dev_name(&vdev->dev)))524 if (nla_put_string(msg, VDPA_ATTR_DEV_NAME, dev_name(&vdev->dev)))
@@ -528,6 +531,8 @@ vdpa_dev_fill(struct vdpa_device *vdev, struct sk_buff *msg, u32 portid, u32 seq · 6 unmodified lines
528 goto msg_err;531 goto msg_err;
529 if (nla_put_u16(msg, VDPA_ATTR_DEV_MAX_VQ_SIZE, max_vq_size))532 if (nla_put_u16(msg, VDPA_ATTR_DEV_MAX_VQ_SIZE, max_vq_size))
530 goto msg_err;533 goto msg_err;
534 if (nla_put_u16(msg, VDPA_ATTR_DEV_MIN_VQ_SIZE, min_vq_size))
535 goto msg_err;
531 536
532 genlmsg_end(msg, hdr);537 genlmsg_end(msg, hdr);
533 return 0;538 return 0;
include/uapi/linux/vdpa.h+1−0
@@ -32,6 +32,7 @@ enum vdpa_attr { · 31 unmodified lines
32 VDPA_ATTR_DEV_VENDOR_ID, /* u32 */32 VDPA_ATTR_DEV_VENDOR_ID, /* u32 */
33 VDPA_ATTR_DEV_MAX_VQS, /* u32 */33 VDPA_ATTR_DEV_MAX_VQS, /* u32 */
34 VDPA_ATTR_DEV_MAX_VQ_SIZE, /* u16 */34 VDPA_ATTR_DEV_MAX_VQ_SIZE, /* u16 */
35 VDPA_ATTR_DEV_MIN_VQ_SIZE, /* u16 */
35 36
36 /* new attributes must be added above here */37 /* new attributes must be added above here */
37 VDPA_ATTR_MAX,38 VDPA_ATTR_MAX,

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t