Re: let's make libpager single-threaded

2014-05-30 Thread Richard Braun
On Fri, May 30, 2014 at 08:15:43PM +0200, Samuel Thibault wrote: > Justus Winter, le Fri 30 May 2014 09:35:37 +0200, a écrit : > > Quoting Richard Braun (2014-05-29 19:12:13) > > > On Thu, May 29, 2014 at 07:04:48PM +0200, Samuel Thibault wrote: > > > > But precisely: once the only thread gets a da

Re: let's make libpager single-threaded

2014-05-30 Thread Samuel Thibault
Justus Winter, le Fri 30 May 2014 09:35:37 +0200, a écrit : > Quoting Richard Braun (2014-05-29 19:12:13) > > On Thu, May 29, 2014 at 07:04:48PM +0200, Samuel Thibault wrote: > > > But precisely: once the only thread gets a data_request, it'll call > > > pager_read_page, which will typically call s

Re: let's make libpager single-threaded

2014-05-30 Thread Richard Braun
On Fri, May 30, 2014 at 09:35:37AM +0200, Justus Winter wrote: > Quoting Richard Braun (2014-05-29 19:12:13) > > On Thu, May 29, 2014 at 07:04:48PM +0200, Samuel Thibault wrote: > > > But precisely: once the only thread gets a data_request, it'll call > > > pager_read_page, which will typically cal

Re: let's make libpager single-threaded

2014-05-30 Thread Justus Winter
Quoting Richard Braun (2014-05-29 19:12:13) > On Thu, May 29, 2014 at 07:04:48PM +0200, Samuel Thibault wrote: > > 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 req

Re: let's make libpager single-threaded

2014-05-29 Thread Richard Braun
On Thu, May 29, 2014 at 07:04:48PM +0200, Samuel Thibault wrote: > 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

Re: let's make libpager single-threaded

2014-05-29 Thread Samuel Thibault
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,

Re: let's make libpager single-threaded

2014-05-27 Thread Richard Braun
On Fri, May 23, 2014 at 01:44:09AM +0200, Samuel Thibault wrote: > Richard Braun, le Mon 05 May 2014 18:32:26 +0200, a écrit : > > On Mon, May 05, 2014 at 06:01:17PM +0200, Samuel Thibault wrote: > > > ? The patch makes both ext2fs's service_paging_requests and libdiskfs' > > > service_paging_reque

Re: let's make libpager single-threaded

2014-05-22 Thread Samuel Thibault
Richard Braun, le Mon 05 May 2014 18:32:26 +0200, a écrit : > On Mon, May 05, 2014 at 06:01:17PM +0200, Samuel Thibault wrote: > > ? The patch makes both ext2fs's service_paging_requests and libdiskfs' > > service_paging_requests become singlethreaded. > > That's what I call the paging part. The f

Re: let's make libpager single-threaded

2014-05-05 Thread Richard Braun
On Mon, May 05, 2014 at 06:01:17PM +0200, Samuel Thibault wrote: > ? The patch makes both ext2fs's service_paging_requests and libdiskfs' > service_paging_requests become singlethreaded. That's what I call the paging part. The front side, where client calls are processed, is still multithreaded, w

Re: let's make libpager single-threaded

2014-05-05 Thread Samuel Thibault
Richard Braun, le Mon 05 May 2014 17:56:37 +0200, a écrit : > On Mon, May 05, 2014 at 04:55:19PM +0200, Samuel Thibault wrote: > > It's an interesting alternative indeed. This however means our ext2fs > > is not multithreaded any longer, which is a bit sad considered that > > we'll want to go para

Re: let's make libpager single-threaded

2014-05-05 Thread Richard Braun
On Mon, May 05, 2014 at 04:55:19PM +0200, Samuel Thibault wrote: > It's an interesting alternative indeed. This however means our ext2fs > is not multithreaded any longer, which is a bit sad considered that > we'll want to go parallel in the end. Well, no, only the paging part becomes single thre

Re: let's make libpager single-threaded

2014-05-05 Thread Samuel Thibault
Hello, Justus Winter, le Mon 05 May 2014 17:23:10 +0200, a écrit : > Just to make sure I got my idea across. With my change, a single > thread would service all requests to disk pagers, another one would > manage the requests to file pagers. Sure. > And those requests are mostly > IO-bound, and

Re: let's make libpager single-threaded

2014-05-05 Thread Justus Winter
Quoting Samuel Thibault (2014-05-05 16:55:19) > Richard Braun, le Mon 28 Apr 2014 16:55:17 +0200, a écrit : > > But it's certainly on the right path and shouldn't be far from being > > reliable (or at least, a lot more reliable than the current code). We encountered two problems: 1. netdde kept c

Re: let's make libpager single-threaded

2014-05-05 Thread Samuel Thibault
Richard Braun, le Mon 28 Apr 2014 16:55:17 +0200, a écrit : > But it's certainly on the right path and shouldn't be far from being > reliable (or at least, a lot more reliable than the current code). It's an interesting alternative indeed. This however means our ext2fs is not multithreaded any lo

Re: let's make libpager single-threaded

2014-04-28 Thread Richard Braun
On Mon, Apr 28, 2014 at 12:19:55PM +0200, Justus Winter wrote: > We will try this change on darnassus and follow-up with the results. Unfortunately, this looks too unstable to merge as it is. There seems to be a port leak somewhere, and it looks like support for notifications is needed, as I could

let's make libpager single-threaded

2014-04-28 Thread Justus Winter
Hi :) tl;dr: How many pager threads does it take to skrew in a light bulb? One. [PATCH 1/9] libdiskfs: set the default sync interval to 30 seconds Well, I made this one before I knew that the thread-storm problem might just be gone with this patch series. Still, we should either apply this patc