On Mon, Jan 16, 2017 at 7:59 PM, Michael S. Tsirkin <mst@xxxxxxxxxx> wrote: > On Mon, Jan 16, 2017 at 03:04:33PM +0100, Cornelia Huck wrote: >> From: Bhumika Goyal <bhumirks@xxxxxxxxx> >> >> 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 <bhumirks@xxxxxxxxx> >> Message-Id: <1484333336-13443-1-git-send-email-bhumirks@xxxxxxxxx> >> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> >> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> > > I am frankly puzzled by this reporting on file sizes. > So what does it mean that it's the same? > Ideally after making the structure const, bytes should move from the data to the text segment of the memory. So a shift in the number of bytes should be seen in the size details of the.o file after compiling the changes. But for this patch no shift in bytes took place before and after applying the changes. Thanks, Bhumika >> --- >> 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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html