On Thu, May 29, 2014 at 04:56:45PM +0930, Rusty Russell wrote: > virtqueue_add() populates the virtqueue descriptor table from the sgs > given. If it uses an indirect descriptor table, then it puts a single > descriptor in the descriptor table pointing to the kmalloc'ed indirect > table where the sg is populated. > > Previously vring_add_indirect() did the allocation and the simple > linear layout. We replace that with alloc_indirect() which allocates > the indirect table then chains it like the normal descriptor table so > we can reuse the core logic. > > Before: > gcc 4.8.2: virtio_blk: stack used = 392 > gcc 4.6.4: virtio_blk: stack used = 480 > > After: > gcc 4.8.2: virtio_blk: stack used = 408 > gcc 4.6.4: virtio_blk: stack used = 432 Is it worth it to make the good compiler worse? People are going to use the newer GCC more as time goes on anyhow.
Attachment:
pgpM917Npnrjf.pgp
Description: PGP signature