diff mbox

[V3,06/14] virtio-serial-bus: switch to bus specific queue limit

Message ID 1425534531-6305-7-git-send-email-jasowang@redhat.com
State New
Headers show

Commit Message

Jason Wang March 5, 2015, 5:48 a.m. UTC
Cc: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/char/virtio-serial-bus.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Cornelia Huck March 6, 2015, 12:27 p.m. UTC | #1
On Thu,  5 Mar 2015 13:48:43 +0800
Jason Wang <jasowang@redhat.com> wrote:

> Cc: Amit Shah <amit.shah@redhat.com>
> Signed-off-by: Jason Wang <jasowang@redhat.com>
> ---
>  hw/char/virtio-serial-bus.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c
> index 37a6f44..f280e95 100644
> --- a/hw/char/virtio-serial-bus.c
> +++ b/hw/char/virtio-serial-bus.c
> @@ -26,6 +26,8 @@
>  #include "hw/virtio/virtio-serial.h"
>  #include "hw/virtio/virtio-access.h"
> 
> +#define VIRTIO_SERIAL_BUS_QUEUE_MAX 64
> +
>  struct VirtIOSerialDevices {
>      QLIST_HEAD(, VirtIOSerial) devices;
>  } vserdevices;
> @@ -942,7 +944,7 @@ static void virtio_serial_device_realize(DeviceState *dev, Error **errp)
>      }
> 
>      /* Each port takes 2 queues, and one pair is for the control queue */
> -    max_supported_ports = VIRTIO_PCI_QUEUE_MAX / 2 - 1;
> +    max_supported_ports = VIRTIO_SERIAL_BUS_QUEUE_MAX / 2 - 1;

Shouldn't this be determined via the VirtIODevice instead? Or be the
maximum of those two values?

> 
>      if (vser->serial.max_virtserial_ports > max_supported_ports) {
>          error_setg(errp, "maximum ports supported: %u", max_supported_ports);
Jason Wang March 9, 2015, 7:26 a.m. UTC | #2
On Fri, Mar 6, 2015 at 8:27 PM, Cornelia Huck 
<cornelia.huck@de.ibm.com> wrote:
> On Thu,  5 Mar 2015 13:48:43 +0800
> Jason Wang <jasowang@redhat.com> wrote:
> 
>>  Cc: Amit Shah <amit.shah@redhat.com>
>>  Signed-off-by: Jason Wang <jasowang@redhat.com>
>>  ---
>>   hw/char/virtio-serial-bus.c | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>  
>>  diff --git a/hw/char/virtio-serial-bus.c 
>> b/hw/char/virtio-serial-bus.c
>>  index 37a6f44..f280e95 100644
>>  --- a/hw/char/virtio-serial-bus.c
>>  +++ b/hw/char/virtio-serial-bus.c
>>  @@ -26,6 +26,8 @@
>>   #include "hw/virtio/virtio-serial.h"
>>   #include "hw/virtio/virtio-access.h"
>>  
>>  +#define VIRTIO_SERIAL_BUS_QUEUE_MAX 64
>>  +
>>   struct VirtIOSerialDevices {
>>       QLIST_HEAD(, VirtIOSerial) devices;
>>   } vserdevices;
>>  @@ -942,7 +944,7 @@ static void 
>> virtio_serial_device_realize(DeviceState *dev, Error **errp)
>>       }
>>  
>>       /* Each port takes 2 queues, and one pair is for the control 
>> queue */
>>  -    max_supported_ports = VIRTIO_PCI_QUEUE_MAX / 2 - 1;
>>  +    max_supported_ports = VIRTIO_SERIAL_BUS_QUEUE_MAX / 2 - 1;
> 
> Shouldn't this be determined via the VirtIODevice instead? Or be the
> maximum of those two values?

Rethink about this. I think it's ok to use the transport limit through 
VirtIODevice here. Then there's no need for virtio serial to handle 
migration compatibility.
diff mbox

Patch

diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c
index 37a6f44..f280e95 100644
--- a/hw/char/virtio-serial-bus.c
+++ b/hw/char/virtio-serial-bus.c
@@ -26,6 +26,8 @@ 
 #include "hw/virtio/virtio-serial.h"
 #include "hw/virtio/virtio-access.h"
 
+#define VIRTIO_SERIAL_BUS_QUEUE_MAX 64
+
 struct VirtIOSerialDevices {
     QLIST_HEAD(, VirtIOSerial) devices;
 } vserdevices;
@@ -942,7 +944,7 @@  static void virtio_serial_device_realize(DeviceState *dev, Error **errp)
     }
 
     /* Each port takes 2 queues, and one pair is for the control queue */
-    max_supported_ports = VIRTIO_PCI_QUEUE_MAX / 2 - 1;
+    max_supported_ports = VIRTIO_SERIAL_BUS_QUEUE_MAX / 2 - 1;
 
     if (vser->serial.max_virtserial_ports > max_supported_ports) {
         error_setg(errp, "maximum ports supported: %u", max_supported_ports);