virtio ring cleanups, which save stack on older gcc

Rusty Russell
2014-05-29T07:28:45Z

They don't make much difference: the easier fix is use gcc 4.8
which drops stack required across virtio block's virtio_queue_rq
down to that kmalloc in virtio_ring from 528 to 392 bytes.

Still, these (*lightly tested*) patches reduce to 432 bytes,
even for gcc 4.6.4. Posted here FYI.

Cheers,
Rusty.