On 01/16/2017 03:29 PM, Michael S. Tsirkin wrote:
> On Mon, Jan 16, 2017 at 03:04:33PM +0100, Cornelia Huck wrote:
>> From: Bhumika Goyal <[email protected]>
>>
>> Declare virtio_config_ops structure as const as it is only stored in the
>> config field of a virtio_device structure. This field is of type const, so
>> virtio_config_ops structures having this property can be declared const.
>> Done using Coccinelle:
>>
>> @r1 disable optional_qualifier@
>> identifier i;
>> position p;
>> @@
>> static struct virtio_config_ops i@p={...};
>>
>> @ok1@
>> identifier r1.i;
>> position p;
>> struct virtio_ccw_device x;
>> @@
>> x.vdev.config=&i@p
>>
>> @bad@
>> position p!={r1.p,ok1.p};
>> identifier r1.i;
>> @@
>> i@p
>>
>> @depends on !bad disable optional_qualifier@
>> identifier r1.i;
>> @@
>> +const
>> struct virtio_config_ops i;
>>
>> File size before and after applying the patch remains the same.
>> text data bss dec hex filename
>> 9235 296 32928 42459 a5db drivers/s390/virtio/virtio_ccw.o
>>
>> Signed-off-by: Bhumika Goyal <[email protected]>
>> Message-Id: <[email protected]>
>> Signed-off-by: Christian Borntraeger <[email protected]>
>> Signed-off-by: Cornelia Huck <[email protected]>
>
> I am frankly puzzled by this reporting on file sizes.
> So what does it mean that it's the same?
I think it means that the compiler cannot make any additional optimization
due to that being const. It still seems the right thing to do.
>
>> ---
>> drivers/s390/virtio/virtio_ccw.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/s390/virtio/virtio_ccw.c
>> b/drivers/s390/virtio/virtio_ccw.c
>> index 0672c6234ae8..070c4da95f48 100644
>> --- a/drivers/s390/virtio/virtio_ccw.c
>> +++ b/drivers/s390/virtio/virtio_ccw.c
>> @@ -944,7 +944,7 @@ static void virtio_ccw_set_status(struct virtio_device
>> *vdev, u8 status)
>> kfree(ccw);
>> }
>>
>> -static struct virtio_config_ops virtio_ccw_config_ops = {
>> +static const struct virtio_config_ops virtio_ccw_config_ops = {
>> .get_features = virtio_ccw_get_features,
>> .finalize_features = virtio_ccw_finalize_features,
>> .get = virtio_ccw_get_config,
>> --
>> 2.11.0
>
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization