qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] curl: fix curl read


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH] curl: fix curl read
Date: Thu, 9 May 2013 17:16:20 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, May 09, 2013 at 02:56:50PM +0800, Fam Zheng wrote:
> On Thu, 05/09 08:41, Stefan Hajnoczi wrote:
> > On Fri, May 03, 2013 at 04:00:09PM +0800, Fam Zheng wrote:
> > > +    cache = curl_find_cache(s, aio_base, aio_bytes);
> > > +    if (cache) {
> > > +        curl_complete_io(s, acb, cache);
> > > +        return;
> > >      }
> > 
> > What is the point of the cache?  Can you split it into a separate patch?
> 
> The cache is for prefetch. Data is fetched by 256k chunks using libcurl
> and stored in cache to fill future io request, reducing overall http
> request overhead.

That sounds like a performance optimization which is not part of fixing
broken block/curl.c :).

But why bother doing this - the guest kernel uses read-ahead anyway to
fetch more data than the userspace read(2) requested?  This cache
amplifies the read-ahead and potentially wastes (e.g. random-read
workload).  Let the guest decide how much read-ahead is appropriate.

Stefan



reply via email to

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