> > No, we _start_ writeback for 1.5*ratelimit_pages pages, but do not
> > wait for those writebacks to finish.
> >
> > So for a slow device and a fast writer, dirty+writeback can indeed
> > increase beyond the dirty threshold.
> >
>
> Nope, try it.
>
> If a process dirties 1000 pages it'll
On Tue, 24 Apr 2007 13:22:02 +0200 Miklos Szeredi <[EMAIL PROTECTED]> wrote:
> > On Tue, 24 Apr 2007 12:12:18 +0200 Peter Zijlstra <[EMAIL PROTECTED]> wrote:
> >
> > > On Tue, 2007-04-24 at 03:00 -0700, Andrew Morton wrote:
> > > > On Tue, 24 Apr 2007 11:47:20 +0200 Miklos Szeredi <[EMAIL
> On Tue, 24 Apr 2007 12:12:18 +0200 Peter Zijlstra <[EMAIL PROTECTED]> wrote:
>
> > On Tue, 2007-04-24 at 03:00 -0700, Andrew Morton wrote:
> > > On Tue, 24 Apr 2007 11:47:20 +0200 Miklos Szeredi <[EMAIL PROTECTED]>
> > > wrote:
> > >
> > > > > Ahh, now I see; I had totally blocked out these
On Tue, 24 Apr 2007 12:12:18 +0200 Peter Zijlstra <[EMAIL PROTECTED]> wrote:
> On Tue, 2007-04-24 at 03:00 -0700, Andrew Morton wrote:
> > On Tue, 24 Apr 2007 11:47:20 +0200 Miklos Szeredi <[EMAIL PROTECTED]> wrote:
> >
> > > > Ahh, now I see; I had totally blocked out these few lines:
> > > >
On Tue, 2007-04-24 at 12:19 +0200, Miklos Szeredi wrote:
> > > > > Ahh, now I see; I had totally blocked out these few lines:
> > > > >
> > > > > pages_written += write_chunk - wbc.nr_to_write;
> > > > > if (pages_written >= write_chunk)
> > > > >
> > > > Ahh, now I see; I had totally blocked out these few lines:
> > > >
> > > > pages_written += write_chunk - wbc.nr_to_write;
> > > > if (pages_written >= write_chunk)
> > > > break; /* We've done our
On Tue, 2007-04-24 at 03:00 -0700, Andrew Morton wrote:
> On Tue, 24 Apr 2007 11:47:20 +0200 Miklos Szeredi <[EMAIL PROTECTED]> wrote:
>
> > > Ahh, now I see; I had totally blocked out these few lines:
> > >
> > > pages_written += write_chunk - wbc.nr_to_write;
> > >
On Tue, 24 Apr 2007 11:47:20 +0200 Miklos Szeredi <[EMAIL PROTECTED]> wrote:
> > Ahh, now I see; I had totally blocked out these few lines:
> >
> > pages_written += write_chunk - wbc.nr_to_write;
> > if (pages_written >= write_chunk)
> >
> Ahh, now I see; I had totally blocked out these few lines:
>
> pages_written += write_chunk - wbc.nr_to_write;
> if (pages_written >= write_chunk)
> break; /* We've done our duty */
>
> yeah, those look dubious
On Tue, 2007-04-24 at 11:14 +0200, Miklos Szeredi wrote:
> > > I'm still not quite sure what purpose the above "soft" limiting
> > > serves. It seems to just give advantage to writers, which managed to
> > > accumulate lots of dirty pages, and then can convert that into even
> > > more
> > > > This is probably a
> > > > reasonable thing to do but it doesn't feel like the right place. I
> > > > think get_dirty_limits should return the raw threshold, and
> > > > balance_dirty_pages should do both tests - the bdi-local test and the
> > > > system-wide test.
> > >
> > > Ok,
On Tue, 2007-04-24 at 10:19 +0200, Miklos Szeredi wrote:
> > > This is probably a
> > > reasonable thing to do but it doesn't feel like the right place. I
> > > think get_dirty_limits should return the raw threshold, and
> > > balance_dirty_pages should do both tests - the bdi-local test and
> > This is probably a
> > reasonable thing to do but it doesn't feel like the right place. I
> > think get_dirty_limits should return the raw threshold, and
> > balance_dirty_pages should do both tests - the bdi-local test and the
> > system-wide test.
>
> Ok, that makes sense I guess.
On Tue, 2007-04-24 at 12:58 +1000, Neil Brown wrote:
> On Friday April 20, [EMAIL PROTECTED] wrote:
> > Scale writeback cache per backing device, proportional to its writeout
> > speed.
>
> So it works like this:
>
> We account for writeout in full pages.
> When a page has the Writeback flag
On Tue, 2007-04-24 at 12:58 +1000, Neil Brown wrote:
On Friday April 20, [EMAIL PROTECTED] wrote:
Scale writeback cache per backing device, proportional to its writeout
speed.
So it works like this:
We account for writeout in full pages.
When a page has the Writeback flag cleared,
This is probably a
reasonable thing to do but it doesn't feel like the right place. I
think get_dirty_limits should return the raw threshold, and
balance_dirty_pages should do both tests - the bdi-local test and the
system-wide test.
Ok, that makes sense I guess.
Well, my narrow
On Tue, 2007-04-24 at 10:19 +0200, Miklos Szeredi wrote:
This is probably a
reasonable thing to do but it doesn't feel like the right place. I
think get_dirty_limits should return the raw threshold, and
balance_dirty_pages should do both tests - the bdi-local test and the
This is probably a
reasonable thing to do but it doesn't feel like the right place. I
think get_dirty_limits should return the raw threshold, and
balance_dirty_pages should do both tests - the bdi-local test and the
system-wide test.
Ok, that makes sense I guess.
On Tue, 2007-04-24 at 11:14 +0200, Miklos Szeredi wrote:
I'm still not quite sure what purpose the above soft limiting
serves. It seems to just give advantage to writers, which managed to
accumulate lots of dirty pages, and then can convert that into even
more dirtyings.
The
Ahh, now I see; I had totally blocked out these few lines:
pages_written += write_chunk - wbc.nr_to_write;
if (pages_written = write_chunk)
break; /* We've done our duty */
yeah, those look dubious
On Tue, 24 Apr 2007 11:47:20 +0200 Miklos Szeredi [EMAIL PROTECTED] wrote:
Ahh, now I see; I had totally blocked out these few lines:
pages_written += write_chunk - wbc.nr_to_write;
if (pages_written = write_chunk)
On Tue, 2007-04-24 at 03:00 -0700, Andrew Morton wrote:
On Tue, 24 Apr 2007 11:47:20 +0200 Miklos Szeredi [EMAIL PROTECTED] wrote:
Ahh, now I see; I had totally blocked out these few lines:
pages_written += write_chunk - wbc.nr_to_write;
if
Ahh, now I see; I had totally blocked out these few lines:
pages_written += write_chunk - wbc.nr_to_write;
if (pages_written = write_chunk)
break; /* We've done our duty
*/
On Tue, 2007-04-24 at 12:19 +0200, Miklos Szeredi wrote:
Ahh, now I see; I had totally blocked out these few lines:
pages_written += write_chunk - wbc.nr_to_write;
if (pages_written = write_chunk)
On Tue, 24 Apr 2007 12:12:18 +0200 Peter Zijlstra [EMAIL PROTECTED] wrote:
On Tue, 2007-04-24 at 03:00 -0700, Andrew Morton wrote:
On Tue, 24 Apr 2007 11:47:20 +0200 Miklos Szeredi [EMAIL PROTECTED] wrote:
Ahh, now I see; I had totally blocked out these few lines:
On Tue, 24 Apr 2007 12:12:18 +0200 Peter Zijlstra [EMAIL PROTECTED] wrote:
On Tue, 2007-04-24 at 03:00 -0700, Andrew Morton wrote:
On Tue, 24 Apr 2007 11:47:20 +0200 Miklos Szeredi [EMAIL PROTECTED]
wrote:
Ahh, now I see; I had totally blocked out these few lines:
On Tue, 24 Apr 2007 13:22:02 +0200 Miklos Szeredi [EMAIL PROTECTED] wrote:
On Tue, 24 Apr 2007 12:12:18 +0200 Peter Zijlstra [EMAIL PROTECTED] wrote:
On Tue, 2007-04-24 at 03:00 -0700, Andrew Morton wrote:
On Tue, 24 Apr 2007 11:47:20 +0200 Miklos Szeredi [EMAIL PROTECTED]
wrote:
No, we _start_ writeback for 1.5*ratelimit_pages pages, but do not
wait for those writebacks to finish.
So for a slow device and a fast writer, dirty+writeback can indeed
increase beyond the dirty threshold.
Nope, try it.
If a process dirties 1000 pages it'll then go into
On Friday April 20, [EMAIL PROTECTED] wrote:
> Scale writeback cache per backing device, proportional to its writeout speed.
So it works like this:
We account for writeout in full pages.
When a page has the Writeback flag cleared, we account that as a
successfully retired write for the
On Mon, 23 Apr 2007, Peter Zijlstra wrote:
> Ooh, thats handy... /me ditches the hotplug code again.
> That is, unless its very common to have half empty boxens.. ?
Its up to the arch code to establish reasonable boundaries.
-
To unsubscribe from this list: send the line "unsubscribe
On Mon, 2007-04-23 at 08:48 -0700, Christoph Lameter wrote:
> On Sat, 21 Apr 2007, Peter Zijlstra wrote:
>
> > > > This is enormously wrong for CONFIG_NR_CPUS=1024 on a 2-way.
> >
> > Right, I knew about that but, uhm.
> >
> > I wanted to make that num_online_cpus(), and install a hotplug
On Sat, 21 Apr 2007, Peter Zijlstra wrote:
> > > This is enormously wrong for CONFIG_NR_CPUS=1024 on a 2-way.
>
> Right, I knew about that but, uhm.
>
> I wanted to make that num_online_cpus(), and install a hotplug notifier
> to fold the percpu delta back into the total on cpu offline.
Use
On Mon, 23 Apr 2007 08:29:59 +0200 Miklos Szeredi <[EMAIL PROTECTED]> wrote:
> > > What about swapout? That can increase the number of writeback pages,
> > > without decreasing the number of dirty pages, no?
> >
> > Could we not solve that by enabling cap_account_writeback on
> > swapper_space,
> > > > The other deadlock, in throttle_vm_writeout() is still to be solved.
> > >
> > > Let's go back to the original changelog:
> > >
> > > Author: marcelo.tosatti
> > > Date: Tue Mar 8 17:25:19 2005 +
> > >
> > > [PATCH] vm: pageout throttling
> > >
> > > With silly
On Sat, 2007-04-21 at 22:25 +0200, Miklos Szeredi wrote:
> > > The other deadlock, in throttle_vm_writeout() is still to be solved.
> >
> > Let's go back to the original changelog:
> >
> > Author: marcelo.tosatti
> > Date: Tue Mar 8 17:25:19 2005 +
> >
> > [PATCH] vm: pageout
On Sat, 2007-04-21 at 22:25 +0200, Miklos Szeredi wrote:
The other deadlock, in throttle_vm_writeout() is still to be solved.
Let's go back to the original changelog:
Author: marcelo.tosatti marcelo.tosatti
Date: Tue Mar 8 17:25:19 2005 +
[PATCH] vm: pageout
The other deadlock, in throttle_vm_writeout() is still to be solved.
Let's go back to the original changelog:
Author: marcelo.tosatti marcelo.tosatti
Date: Tue Mar 8 17:25:19 2005 +
[PATCH] vm: pageout throttling
With silly pageout testcases it
On Mon, 23 Apr 2007 08:29:59 +0200 Miklos Szeredi [EMAIL PROTECTED] wrote:
What about swapout? That can increase the number of writeback pages,
without decreasing the number of dirty pages, no?
Could we not solve that by enabling cap_account_writeback on
swapper_space, and thereby
On Sat, 21 Apr 2007, Peter Zijlstra wrote:
This is enormously wrong for CONFIG_NR_CPUS=1024 on a 2-way.
Right, I knew about that but, uhm.
I wanted to make that num_online_cpus(), and install a hotplug notifier
to fold the percpu delta back into the total on cpu offline.
Use nr_cpu_ids
On Mon, 2007-04-23 at 08:48 -0700, Christoph Lameter wrote:
On Sat, 21 Apr 2007, Peter Zijlstra wrote:
This is enormously wrong for CONFIG_NR_CPUS=1024 on a 2-way.
Right, I knew about that but, uhm.
I wanted to make that num_online_cpus(), and install a hotplug notifier
to fold
On Mon, 23 Apr 2007, Peter Zijlstra wrote:
Ooh, thats handy... /me ditches the hotplug code again.
That is, unless its very common to have half empty boxens.. ?
Its up to the arch code to establish reasonable boundaries.
-
To unsubscribe from this list: send the line unsubscribe
On Friday April 20, [EMAIL PROTECTED] wrote:
Scale writeback cache per backing device, proportional to its writeout speed.
So it works like this:
We account for writeout in full pages.
When a page has the Writeback flag cleared, we account that as a
successfully retired write for the
On Sat, 21 Apr 2007 14:01:36 +0200 Peter Zijlstra <[EMAIL PROTECTED]> wrote:
> On Sat, 2007-04-21 at 02:55 -0700, Andrew Morton wrote:
>
> > > +
> > > + __mod_bdi_stat64(bdi, BDI_WRITEOUT, -half);
> > > + bdi->cycles += cycle;
> > > + }
> > > + bdi->cycles = global_cycle;
> > > +
On Sat, 21 Apr 2007 14:01:36 +0200 Peter Zijlstra [EMAIL PROTECTED] wrote:
On Sat, 2007-04-21 at 02:55 -0700, Andrew Morton wrote:
+
+ __mod_bdi_stat64(bdi, BDI_WRITEOUT, -half);
+ bdi-cycles += cycle;
+ }
+ bdi-cycles = global_cycle;
+
> > The other deadlock, in throttle_vm_writeout() is still to be solved.
>
> Let's go back to the original changelog:
>
> Author: marcelo.tosatti
> Date: Tue Mar 8 17:25:19 2005 +
>
> [PATCH] vm: pageout throttling
>
> With silly pageout testcases it is possible to place
On Sat, 2007-04-21 at 14:15 +0200, Peter Zijlstra wrote:
> > > > +/*
> > > > + * maximal error of a stat counter.
> > > > + */
> > > > +static inline unsigned long bdi_stat_delta(void)
> > > > +{
> > > > +#ifdef CONFIG_SMP
> > > > + return NR_CPUS * FBC_BATCH;
> > >
> > > This is enormously
> > > +/*
> > > + * maximal error of a stat counter.
> > > + */
> > > +static inline unsigned long bdi_stat_delta(void)
> > > +{
> > > +#ifdef CONFIG_SMP
> > > + return NR_CPUS * FBC_BATCH;
> >
> > This is enormously wrong for CONFIG_NR_CPUS=1024 on a 2-way.
Right, I knew about that but, uhm.
On Sat, 2007-04-21 at 02:55 -0700, Andrew Morton wrote:
> On Fri, 20 Apr 2007 17:52:04 +0200 Peter Zijlstra <[EMAIL PROTECTED]> wrote:
>
> > Scale writeback cache per backing device, proportional to its writeout
> > speed.
> >
> > By decoupling the BDI dirty thresholds a number of problems we
On Sat, 21 Apr 2007 12:38:45 +0200 Miklos Szeredi <[EMAIL PROTECTED]> wrote:
> The other deadlock, in throttle_vm_writeout() is still to be solved.
Let's go back to the original changelog:
Author: marcelo.tosatti
Date: Tue Mar 8 17:25:19 2005 +
[PATCH] vm: pageout throttling
> On Fri, 20 Apr 2007 17:52:04 +0200 Peter Zijlstra <[EMAIL PROTECTED]> wrote:
>
> > Scale writeback cache per backing device, proportional to its writeout
> > speed.
> >
> > By decoupling the BDI dirty thresholds a number of problems we currently
> > have
> > will go away, namely:
> >
> > -
On Fri, 20 Apr 2007 17:52:04 +0200 Peter Zijlstra <[EMAIL PROTECTED]> wrote:
> Scale writeback cache per backing device, proportional to its writeout speed.
>
> By decoupling the BDI dirty thresholds a number of problems we currently have
> will go away, namely:
>
> - mutual interference
On Fri, 20 Apr 2007 17:52:04 +0200 Peter Zijlstra [EMAIL PROTECTED] wrote:
Scale writeback cache per backing device, proportional to its writeout speed.
By decoupling the BDI dirty thresholds a number of problems we currently have
will go away, namely:
- mutual interference starvation
On Fri, 20 Apr 2007 17:52:04 +0200 Peter Zijlstra [EMAIL PROTECTED] wrote:
Scale writeback cache per backing device, proportional to its writeout
speed.
By decoupling the BDI dirty thresholds a number of problems we currently
have
will go away, namely:
- mutual interference
On Sat, 21 Apr 2007 12:38:45 +0200 Miklos Szeredi [EMAIL PROTECTED] wrote:
The other deadlock, in throttle_vm_writeout() is still to be solved.
Let's go back to the original changelog:
Author: marcelo.tosatti marcelo.tosatti
Date: Tue Mar 8 17:25:19 2005 +
[PATCH] vm: pageout
On Sat, 2007-04-21 at 02:55 -0700, Andrew Morton wrote:
On Fri, 20 Apr 2007 17:52:04 +0200 Peter Zijlstra [EMAIL PROTECTED] wrote:
Scale writeback cache per backing device, proportional to its writeout
speed.
By decoupling the BDI dirty thresholds a number of problems we currently
+/*
+ * maximal error of a stat counter.
+ */
+static inline unsigned long bdi_stat_delta(void)
+{
+#ifdef CONFIG_SMP
+ return NR_CPUS * FBC_BATCH;
This is enormously wrong for CONFIG_NR_CPUS=1024 on a 2-way.
Right, I knew about that but, uhm.
I wanted to make that
On Sat, 2007-04-21 at 14:15 +0200, Peter Zijlstra wrote:
+/*
+ * maximal error of a stat counter.
+ */
+static inline unsigned long bdi_stat_delta(void)
+{
+#ifdef CONFIG_SMP
+ return NR_CPUS * FBC_BATCH;
This is enormously wrong for CONFIG_NR_CPUS=1024 on
The other deadlock, in throttle_vm_writeout() is still to be solved.
Let's go back to the original changelog:
Author: marcelo.tosatti marcelo.tosatti
Date: Tue Mar 8 17:25:19 2005 +
[PATCH] vm: pageout throttling
With silly pageout testcases it is possible to place
Scale writeback cache per backing device, proportional to its writeout speed.
By decoupling the BDI dirty thresholds a number of problems we currently have
will go away, namely:
- mutual interference starvation (for any number of BDIs);
- deadlocks with stacked BDIs (loop, FUSE and local NFS
Scale writeback cache per backing device, proportional to its writeout speed.
By decoupling the BDI dirty thresholds a number of problems we currently have
will go away, namely:
- mutual interference starvation (for any number of BDIs);
- deadlocks with stacked BDIs (loop, FUSE and local NFS
60 matches
Mail list logo