bug-hurd
[Top][All Lists]
Advanced

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

Re: let's make libpager single-threaded


From: Samuel Thibault
Subject: Re: let's make libpager single-threaded
Date: Thu, 29 May 2014 19:04:48 +0200
User-agent: Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30)

Richard Braun, le Tue 27 May 2014 14:12:07 +0200, a écrit :
> > But the paging part also comes from client events, doesn't it?  E.g.
> > on-demand loads of parts of mapped libraries, etc.
> 
> If on-demand here means on page fault, then no. In Mach, client threads
> don't process their page faults, the kernel merely sends async requests
> to external pagers. There is normally no I/O when the underlying
> physical pages are already resident. External pagers are used only when
> I/O must be done,

Sure, sure.

> in which case a single thread per backing device is
> fine since processing incoming requests is normally orders of magnitude
> faster than the underlying device latency.

But precisely: once the only thread gets a data_request, it'll call
pager_read_page, which will typically call store_read, which will wait
on the eventual I/O, and no other request will be processed during that
time, and thus not pipelining the I/O requests.

Samuel



reply via email to

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