On Wed, May 15, 2013 at 11:46:36AM +0800, Fam Zheng wrote:
> On Tue, 05/14 10:22, Stefan Hajnoczi wrote:
> > On Tue, May 14, 2013 at 10:26:19AM +0800, Fam Zheng wrote:
> > >  - CURLDataCache holds the user data read from libcurl, it is in a list
> > >    ordered by access, the used cache is moved to list head on access, so
> > >    the tail element is freed first. BDRVCURLState.cache_quota is the
> > >    threshold to start freeing cache.
> > 
> > Can you explain the need for a cache?
> > 
> > The guest kernel already does readahead if it wants to.  It can be tuned
> > from inside the guest if performance doesn't meet expectations.  The
> > block/curl.c-specific cache cannot be tuned from the guest.
> 
> The guest may not do well on this. E.g. GRUB sends sequencial 2KB aio
> requests loading the kernel of several MBs. This may make the curl
> performs horribly to boot a guest from http served iso.

Good point, this is probably the reason.  Once the kernel is running the
requests should be bigger but during boot the BIOS and bootloader may
issue very small requests.

Stefan

Reply via email to