diff mbox

[v2,6/7] s390x/css: activate ChannelSubSys migration

Message ID 20170529135520.101429-7-pasic@linux.vnet.ibm.com
State New
Headers show

Commit Message

Halil Pasic May 29, 2017, 1:55 p.m. UTC
Turn on migration for the channel subsystem for the next machine.  For
legacy machines we still have to do things the old way.

Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>
---
 hw/s390x/css.c             | 5 +++++
 hw/s390x/s390-virtio-ccw.c | 9 ++++-----
 hw/s390x/virtio-ccw.c      | 1 -
 include/hw/s390x/css.h     | 4 ++++
 4 files changed, 13 insertions(+), 6 deletions(-)

Comments

Thomas Huth June 1, 2017, 8:40 a.m. UTC | #1
On 29.05.2017 15:55, Halil Pasic wrote:
> Turn on migration for the channel subsystem for the next machine.  For
> legacy machines we still have to do things the old way.
> 
> Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>
> ---
>  hw/s390x/css.c             | 5 +++++
>  hw/s390x/s390-virtio-ccw.c | 9 ++++-----
>  hw/s390x/virtio-ccw.c      | 1 -
>  include/hw/s390x/css.h     | 4 ++++
>  4 files changed, 13 insertions(+), 6 deletions(-)
[...]
>  static void ccw_machine_2_10_class_options(MachineClass *mc)
> diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
> index a75eedeffb..4a0271b0be 100644
> --- a/hw/s390x/virtio-ccw.c
> +++ b/hw/s390x/virtio-ccw.c
> @@ -1360,7 +1360,6 @@ static void virtio_ccw_device_plugged(DeviceState *d, Error **errp)
>  
>      sch->id.cu_model = virtio_bus_get_vdev_id(&dev->bus);
>  
> -
>      css_generate_sch_crws(sch->cssid, sch->ssid, sch->schid,
>                            d->hotplugged, 1);
>  }

Unrelated white-space change?

 Thomas
Halil Pasic June 1, 2017, 10:12 a.m. UTC | #2
On 06/01/2017 10:40 AM, Thomas Huth wrote:
> On 29.05.2017 15:55, Halil Pasic wrote:
>> Turn on migration for the channel subsystem for the next machine.  For
>> legacy machines we still have to do things the old way.
>>
>> Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>
>> ---
>>  hw/s390x/css.c             | 5 +++++
>>  hw/s390x/s390-virtio-ccw.c | 9 ++++-----
>>  hw/s390x/virtio-ccw.c      | 1 -
>>  include/hw/s390x/css.h     | 4 ++++
>>  4 files changed, 13 insertions(+), 6 deletions(-)
> [...]
>>  static void ccw_machine_2_10_class_options(MachineClass *mc)
>> diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
>> index a75eedeffb..4a0271b0be 100644
>> --- a/hw/s390x/virtio-ccw.c
>> +++ b/hw/s390x/virtio-ccw.c
>> @@ -1360,7 +1360,6 @@ static void virtio_ccw_device_plugged(DeviceState *d, Error **errp)
>>  
>>      sch->id.cu_model = virtio_bus_get_vdev_id(&dev->bus);
>>  
>> -
>>      css_generate_sch_crws(sch->cssid, sch->ssid, sch->schid,
>>                            d->hotplugged, 1);
>>  }
> 
> Unrelated white-space change?
> 
>  Thomas
> 


Indeed :-( Will remove for the next re-spin.

Thanks a lot!

Halil
Cornelia Huck June 1, 2017, 11:47 a.m. UTC | #3
On Mon, 29 May 2017 15:55:19 +0200
Halil Pasic <pasic@linux.vnet.ibm.com> wrote:

> Turn on migration for the channel subsystem for the next machine.  For
> legacy machines we still have to do things the old way.
> 
> Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>
> ---
>  hw/s390x/css.c             | 5 +++++
>  hw/s390x/s390-virtio-ccw.c | 9 ++++-----
>  hw/s390x/virtio-ccw.c      | 1 -
>  include/hw/s390x/css.h     | 4 ++++
>  4 files changed, 13 insertions(+), 6 deletions(-)

From your reply to Christian's mail, I presume you also tested the
result with some compat machines?

With the whitespace change removed,

Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
diff mbox

Patch

diff --git a/hw/s390x/css.c b/hw/s390x/css.c
index e840dfba2a..9857eb3d6f 100644
--- a/hw/s390x/css.c
+++ b/hw/s390x/css.c
@@ -401,6 +401,11 @@  static int subch_dev_post_load(void *opaque, int version_id)
     return 0;
 }
 
+void css_register_vmstate(void)
+{
+    vmstate_register(NULL, 0, &vmstate_css, &channel_subsys);
+}
+
 IndAddr *get_indicator(hwaddr ind_addr, int len)
 {
     IndAddr *indicator;
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 95256d3982..3ad6323add 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -196,7 +196,7 @@  static void ccw_machine_class_init(ObjectClass *oc, void *data)
 
     s390mc->ri_allowed = true;
     s390mc->cpu_model_allowed = true;
-    s390mc->css_migration_enabled = false; /* TODO: set to true */
+    s390mc->css_migration_enabled = true;
     mc->init = ccw_init;
     mc->reset = s390_machine_reset;
     mc->hot_add_cpu = s390_hot_add_cpu;
@@ -451,10 +451,9 @@  bool css_migration_enabled(void)
 
 static void ccw_machine_2_10_instance_options(MachineState *machine)
 {
-    /*
-     * TODO Once preparations are done register vmstate for the css if
-     * css_migration_enabled().
-     */
+    if (css_migration_enabled()) {
+        css_register_vmstate();
+    }
 }
 
 static void ccw_machine_2_10_class_options(MachineClass *mc)
diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
index a75eedeffb..4a0271b0be 100644
--- a/hw/s390x/virtio-ccw.c
+++ b/hw/s390x/virtio-ccw.c
@@ -1360,7 +1360,6 @@  static void virtio_ccw_device_plugged(DeviceState *d, Error **errp)
 
     sch->id.cu_model = virtio_bus_get_vdev_id(&dev->bus);
 
-
     css_generate_sch_crws(sch->cssid, sch->ssid, sch->schid,
                           d->hotplugged, 1);
 }
diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h
index e9c02af550..812fc05804 100644
--- a/include/hw/s390x/css.h
+++ b/include/hw/s390x/css.h
@@ -209,4 +209,8 @@  extern PropertyInfo css_devid_ro_propinfo;
  * is responsible for unregistering and freeing it.
  */
 SubchDev *css_create_virtual_sch(CssDevId bus_id, Error **errp);
+
+/** Turn on css migration */
+void css_register_vmstate(void);
+
 #endif