qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH 1/4] Add a scatter-gather list type and accessor


From: Avi Kivity
Subject: [Qemu-devel] Re: [PATCH 1/4] Add a scatter-gather list type and accessors
Date: Wed, 04 Feb 2009 23:03:47 +0200
User-agent: Thunderbird 2.0.0.19 (X11/20090105)

Anthony Liguori wrote:

malloc() will never fail on Linux with overcommit enabled; since Linux is fairly useless without overcommit, it means you'll never see a failure.

Sure it will.  You just have to run out of VA space.


That's not recoverable, and is certainly a qemu bug if it happens. Especially on 47-bit hosts.

I expect this to trigger rarely since the allocation hint should suffice nearly 100% of the time. But in case we miss, it's better to reallocate as little as possible.

(what I really want is std::vector<>)

Which I'm pretty sure has a linear growth strategy :-)

Not in any of the implementations I'm familiar with. I believe std::vector<> is required to have amortized O(1) append operations.

Linear growth doesn't imply element-by-element growth. You can have a coefficient > 1.


If you have a coefficient, then it's exponential growth, even if it's less than two. If you have an addition, then it's linear growth, even if the addend is greater than one.

 size *= k -> exponential
 size += k -> linear


--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]