diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2016-10-06 05:39:10 -0400 |
|---|---|---|
| committer | Michael S. Tsirkin <mst@redhat.com> | 2016-10-30 18:21:42 -0400 |
| commit | 44d65ea1615099ae252407f2554338d450cfdb1c (patch) | |
| tree | 122999495aa15ccb3944bf064a0af76470c9e590 /tools | |
| parent | 8424af5336b34043a705d66bdf2c1428048ef085 (diff) | |
ringtest: use link-time optimization
By using -flto and -fwhole-program, all functions from the ring implementation
can be treated as static and possibly inlined. Force this to happen through
the GCC flatten attribute.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/virtio/ringtest/Makefile | 4 | ||||
| -rw-r--r-- | tools/virtio/ringtest/main.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/tools/virtio/ringtest/Makefile b/tools/virtio/ringtest/Makefile index 877a8a4721b6..c012edbdb13b 100644 --- a/tools/virtio/ringtest/Makefile +++ b/tools/virtio/ringtest/Makefile | |||
| @@ -3,8 +3,8 @@ all: | |||
| 3 | all: ring virtio_ring_0_9 virtio_ring_poll virtio_ring_inorder ptr_ring noring | 3 | all: ring virtio_ring_0_9 virtio_ring_poll virtio_ring_inorder ptr_ring noring |
| 4 | 4 | ||
| 5 | CFLAGS += -Wall | 5 | CFLAGS += -Wall |
| 6 | CFLAGS += -pthread -O2 -ggdb | 6 | CFLAGS += -pthread -O2 -ggdb -flto -fwhole-program |
| 7 | LDFLAGS += -pthread -O2 -ggdb | 7 | LDFLAGS += -pthread -O2 -ggdb -flto -fwhole-program |
| 8 | 8 | ||
| 9 | main.o: main.c main.h | 9 | main.o: main.c main.h |
| 10 | ring.o: ring.c main.h | 10 | ring.o: ring.c main.h |
diff --git a/tools/virtio/ringtest/main.c b/tools/virtio/ringtest/main.c index 147abb452a6c..bda7f0dad981 100644 --- a/tools/virtio/ringtest/main.c +++ b/tools/virtio/ringtest/main.c | |||
| @@ -96,7 +96,7 @@ void set_affinity(const char *arg) | |||
| 96 | assert(!ret); | 96 | assert(!ret); |
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | static void run_guest(void) | 99 | static void __attribute__((__flatten__)) run_guest(void) |
| 100 | { | 100 | { |
| 101 | int completed_before; | 101 | int completed_before; |
| 102 | int completed = 0; | 102 | int completed = 0; |
| @@ -149,7 +149,7 @@ static void run_guest(void) | |||
| 149 | } | 149 | } |
| 150 | } | 150 | } |
| 151 | 151 | ||
| 152 | static void run_host(void) | 152 | static void __attribute__((__flatten__)) run_host(void) |
| 153 | { | 153 | { |
| 154 | int completed_before; | 154 | int completed_before; |
| 155 | int completed = 0; | 155 | int completed = 0; |
