Re: [PATCH] CFQ scheduler, #2

Mike Galbraith
2003-02-16T06:09:56Z

[-- Attachment #1: Type: text/plain, Size: 1302 bytes --]

At 05:35 PM 2/15/2003 +0100, Jens Axboe wrote:
>On Sat, Feb 15 2003, Rik van Riel wrote:
> > On Sat, 15 Feb 2003, Mike Galbraith wrote:
> >
> > >I gave this a burn, and under hefty load it seems to provide a bit of
> > >anti-thrash benefit.
> >
> > Judging from your log, it ends up stalling kswapd and
> > dramatically increases the number of times that normal
> > processes need to go into the pageout code.
>
>With 30 odds processes, it doesn't take a whole lot for one process to
>have its share of requests eaten.
>
> > If this provides an anti-thrashing benefit, something's
> > wrong with the VM in 2.5 ;)
>
>It's not a vm problem. But it is a problem if kswapd + pdflush can
>consume the entire request pool, stalling real user processes.
>
>Mike, please retry the test with more requests available. CFQ does not
>rely on request queue length for fairness. Just changes:
>
> (queue_nr_requests > 128)
> queue_nr_requests = 128;
>
>to
>
> (queue_nr_requests > 512)
> queue_nr_requests = 512;
>
>in ll_rw_blk.c:blk_dev_init() and see how that runs.

Results attached. 512 comes out to be 240 on this box (128MB). I also did
a burn with it hardwired to 512 on GP. Throughput numbers cut since
there's all within expected jitter.

-Mike

[-- Attachment #2: xx.txt --]
[-- Type: text/plain, Size: 1849 bytes --]

/proc/vmstat 2.5.61cfq2 2.5.61virgin cfq2-512(240) cfq2-512
-----------------------------------------------------------------
nr_dirty 20 13 9 12
nr_writeback 0 0 0 0
nr_pagecache 7308 7593 7176 7737
nr_page_table_pages 85 85 85 85
nr_reverse_maps 3229 3198 3254 3159
nr_mapped 599 599 608 583
nr_slab 1203 1184 1169 1237
pgpgin 1767432 1911614 1758501 1775402
pgpgout 1606743 1746497 1595920 1654366
pswpin 311297 338436 307811 311515
pswpout 371161 406675 369132 383302
pgalloc 3037961 3070811 3030482 3020966
pgfree 3060825 3093420 3053524 3043355
pgactivate 142329 135616 134968 136655
pgdeactivate 514672 507026 481156 501111
pgfault 4896877 4928530 4891987 4913594
pgmajfault 74342 84476 74058 82857
pgscan 2751953 5328260 3250880 3797919
pgrefill 1821561 1972715 1896119 2057461
pgsteal 528014 575301 528513 529011
pginodesteal 0 0 0 0
kswapd_steal 380282 522126 405078 410382
kswapd_inodesteal 7010 7132 6704 6829
pageoutrun 1107 1956 1263 1259
allocstall 3472 1238 2865 2782
pgrotated 358243 413450 365914 387277