Thread (1 message) 1 message, 1 author, 2015-03-30

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

From: Milosz Tanski <hidden>
Date: 2015-03-30 23:06:45
Also in: linux-arch, linux-fsdevel, lkml

On Mon, Mar 30, 2015 at 6:57 PM, Andrew Morton
[off-list ref] wrote:
On Mon, 30 Mar 2015 18:49:06 -0400 Milosz Tanski [off-list ref] wrote:
quoted
quoted
A fincore+pread solution that blocks is simply unsafe
to use for us. We'll have to stay with the threadpool :-(.
We're getting data from a network filesystem Ceph in our case, but it
could be pNFS. In many cases those filesystems have some kind
hierarchy and it's not uncommon for us to se requests that take 20 to
25 milliseconds to complete. In this case the miss becomes very
expensive. And it's not just that one requests experiences the slow
down all the request being serviced by that (single) epoll thread
experience head-of-line blocking because of one stalled request.

10K request a second is a common load for many web services / video
servers servings chunks of data. If we experience one miss a second,
that 25 million stall will impact 250 other requests (all of them will
have a 25ms latency tacked on).
I'd expect a fincore() which doesn't do SetPageReferenced() to be
orders of magnitude better than this.  A fincore() which does use
SetPageReferenced() will be in the "basically never happens" region -
it would take massive and artificial memory stress to trigger.
I'm just responding to the upper bound you put out in an email a few
back of 0.0001% miss. And, people run web caches (like Apache Traffic
Server) at much higher rates than that.

-- 
Milosz Tanski
CTO
16 East 34th Street, 15th floor
New York, NY 10016

p: 646-253-9055
e: milosz-B5zB6C1i6pkAvxtiuMwx3w@public.gmane.org
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help