* [PATCH] test5-1 vm fix
@ 2000-07-15 23:07 Roger Larsson
2000-07-16 8:16 ` Mike Galbraith
0 siblings, 1 reply; 9+ messages in thread
From: Roger Larsson @ 2000-07-15 23:07 UTC (permalink / raw)
To: Linus Torvalds, linux-kernel, linux-mm
[-- Attachment #1: Type: text/plain, Size: 547 bytes --]
Hi,
Since I am responsible for messing up some aspects of vm
(when fixing others)
here is a patch that tries to solve the introduced problems.
* no more periodic wake up of kswapd - not needed anymore
* no more freeing all zones to (free_pages > pages_high)
* always wakes kswapd up after try_to_free_pages
* always wakes kswapd up when (free_pages < pages_low)
* remove keep_kswapd_awake() function - not needed anymore
/RogerL
Note: Includes Riels "[PATCH] 2.4.0-test4 kswapd rebalancing fix"
--
Home page:
http://www.norran.net/nra02596/
[-- Attachment #2: patch-2.4.0-test5-1-vmfix.2 --]
[-- Type: text/plain, Size: 2917 bytes --]
--- linux/mm/vmscan.c.orig Sat Jul 15 23:44:34 2000
+++ linux/mm/vmscan.c Sun Jul 16 00:57:00 2000
@@ -439,26 +439,6 @@ static inline int memory_pressure(void)
return 0;
}
-/*
- * Check if there recently has been memory pressure (zone_wake_kswapd)
- */
-static inline int keep_kswapd_awake(void)
-{
- pg_data_t *pgdat = pgdat_list;
-
- do {
- int i;
- for(i = 0; i < MAX_NR_ZONES; i++) {
- zone_t *zone = pgdat->node_zones+ i;
- if (zone->size &&
- zone->zone_wake_kswapd)
- return 1;
- }
- pgdat = pgdat->node_next;
- } while (pgdat);
-
- return 0;
-}
/*
* We need to make the locks finer granularity, but right
@@ -499,7 +479,7 @@ static int do_try_to_free_pages(unsigned
/* not (been) low on memory - it is
* pointless to try to swap out.
*/
- if (!keep_kswapd_awake())
+ if (!memory_pressure())
goto done;
/* Try to get rid of some shared memory pages.. */
@@ -520,7 +500,7 @@ static int do_try_to_free_pages(unsigned
* if (count <= 0)
* goto done;
*/
- if (!keep_kswapd_awake())
+ if (!memory_pressure())
goto done;
while (shm_swap(priority, gfp_mask)) {
@@ -595,11 +575,8 @@ int kswapd(void *unused)
tsk->flags |= PF_MEMALLOC;
for (;;) {
- if (!keep_kswapd_awake()) {
- /* wake up regulary to do an early attempt too free
- * pages - pages will not actually be freed.
- */
- interruptible_sleep_on_timeout(&kswapd_wait, HZ);
+ if (!memory_pressure()) {
+ interruptible_sleep_on(&kswapd_wait);
}
do_try_to_free_pages(GFP_KSWAPD);
@@ -631,18 +608,18 @@ int try_to_free_pages(unsigned int gfp_m
retval = do_try_to_free_pages(gfp_mask);
current->flags &= ~PF_MEMALLOC;
}
- else {
- /* make sure kswapd runs */
- if (waitqueue_active(&kswapd_wait))
- wake_up_interruptible(&kswapd_wait);
- }
+
+ /* someone needed memory that kswapd had not provided
+ * make sure kswapd runs, should not happen often */
+ if (waitqueue_active(&kswapd_wait))
+ wake_up_interruptible(&kswapd_wait);
return retval;
}
static int __init kswapd_init(void)
{
- printk("Starting kswapd v1.6\n");
+ printk("Starting kswapd v1.7\n");
swap_setup();
kernel_thread(kswapd, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND);
return 0;
--- linux/mm/page_alloc.c.orig Sat Jul 15 23:44:46 2000
+++ linux/mm/page_alloc.c Sat Jul 15 23:55:55 2000
@@ -275,8 +275,16 @@ struct page * __alloc_pages(zonelist_t *
break;
if (!z->low_on_memory) {
struct page *page = rmqueue(z, order);
- if (z->free_pages < z->pages_min)
+ if (z->free_pages < z->pages_min) {
z->low_on_memory = 1;
+ /* Suppose all zones have zone_wake_kswapd set
+ * but kswapd has stopped running due to
+ * no memory_pressure()
+ */
+ z->zone_wake_kswapd = 1; /* should be set already */
+ if (waitqueue_active(&kswapd_wait))
+ wake_up_interruptible(&kswapd_wait);
+ }
if (page)
return page;
}
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] test5-1 vm fix
2000-07-15 23:07 [PATCH] test5-1 vm fix Roger Larsson
@ 2000-07-16 8:16 ` Mike Galbraith
2000-07-16 19:33 ` Rik van Riel
2000-07-17 17:21 ` Mark Hahn
0 siblings, 2 replies; 9+ messages in thread
From: Mike Galbraith @ 2000-07-16 8:16 UTC (permalink / raw)
To: Roger Larsson; +Cc: Linus Torvalds, linux-kernel, linux-mm
On Sun, 16 Jul 2000, Roger Larsson wrote:
> Hi,
>
> Since I am responsible for messing up some aspects of vm
> (when fixing others)
> here is a patch that tries to solve the introduced problems.
>
> * no more periodic wake up of kswapd - not needed anymore
> * no more freeing all zones to (free_pages > pages_high)
> * always wakes kswapd up after try_to_free_pages
> * always wakes kswapd up when (free_pages < pages_low)
> * remove keep_kswapd_awake() function - not needed anymore
>
> /RogerL
>
> Note: Includes Riels "[PATCH] 2.4.0-test4 kswapd rebalancing fix"
Hi Roger,
Unfortunately, this didn't improve anything here. A make -j30 bzImage
is taking >12 minutes to complete with much idle time. (classzone keeps
same 30 hungry tasks fed/running most of the time - finishes in ~7 min)
In the vmstat 1 output below, note the large stalls - despite vmstat
running SCHED_RR+mlockall - usually followed by long periods with few
runnable tasks. In >40 manhours of generic beating on my generic box,
this is a common item.. not limited to make -j test.
(sorry about size, but some folks don't like/look at gzipped attachments)
-Mike
RFC concerning make -j30 bzImage as basic VM test:
Rik called this an 'odd' workload. IMHO it is an excellent basic VM test
(IFF the size of the job is adjusted to _not quite_ fit in ram). In my
experience, kernels which do well at this tend to get good reviews across
the board.
time make -j30 bzImage on 128mb PIII/500 w. single ide drive.
real 12m5.512s (best of 10, worst was over 16m)
user 6m29.030s
sys 0m34.950s
(12 minutes at 1 line/sec = 333 lines... yuk)
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
1 0 0 0 52000 3776 54580 0 0 438 8 156 112 18 56 26
0 0 0 0 51984 3776 54580 0 0 0 0 106 6 0 98 2
0 0 0 0 51984 3776 54580 0 0 0 0 103 4 0 98 2
0 1 1 0 50792 3796 54724 0 0 139 187 189 329 36 35 30
0 1 1 0 50560 3816 54844 0 0 118 73 211 198 1 54 45
0 1 1 0 50204 3824 55160 0 0 236 85 231 157 3 68 28
0 2 1 0 50412 3824 55248 0 0 68 117 176 131 30 64 6
0 1 1 0 49908 3844 55376 0 0 141 74 179 199 0 50 50
0 1 1 0 50308 3844 55348 0 0 20 158 217 127 4 73 23
0 1 0 0 50156 3844 55500 0 0 38 38 194 167 0 57 43
0 1 1 0 49992 3844 55660 0 0 40 0 190 112 0 49 51
1 0 0 0 49824 3844 55824 0 0 41 0 194 116 0 45 55
0 1 0 0 49128 3844 56512 0 0 172 0 273 386 0 21 79
0 1 1 0 48288 3848 57332 0 0 209 0 310 463 1 11 88
11 1 0 0 43264 3856 58008 0 0 374 0 251 353 64 18 19
14 0 0 0 39012 3860 58636 0 0 413 0 246 313 97 3 0
20 3 0 0 33724 3864 59016 0 0 314 0 178 177 89 11 0
32 0 0 0 27788 3868 59260 0 0 201 0 146 152 91 9 0
31 5 0 0 24584 3872 59312 0 0 22 0 119 50 94 6 0
31 2 0 0 17088 3876 59648 0 0 225 0 167 177 96 4 0
31 8 0 0 14332 3876 59648 0 0 0 0 102 31 94 6 0
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
34 3 0 0 6652 3880 59752 0 0 83 0 121 84 90 10 0
32 11 0 0 10388 936 59304 0 0 1 214 140 127 88 12 0
21 16 1 0 4380 956 59348 0 0 48 0 218 193 92 8 0
35 0 1 712 2772 616 57344 0 716 31 360 247 181 83 17 0
29 4 0 3272 2212 556 57372 0 2568 65 673 193 120 91 9 0
31 1 0 3384 2284 616 52300 0 136 141 34 154 236 92 8 0
31 3 0 3452 2528 628 48160 0 68 37 17 124 193 92 8 0
31 5 0 3588 2124 644 40996 120 136 56 60 153 262 91 9 0
31 14 0 3860 2620 696 33412 208 272 166 70 158 318 89 11 0
30 19 0 4184 2064 732 24952 4 340 449 95 217 397 88 12 0
29 10 0 4480 1460 780 16036 32 408 582 109 239 483 84 16 0
20 15 0 4640 2280 688 10068 332 612 642 205 220 306 87 13 0
15 22 1 4912 1748 572 6032 128 688 333 333 235 354 92 8 0
17 18 1 4372 3604 584 6688 980 0 364 3 217 357 93 7 0
10 28 2 6672 7260 528 5976 916 3596 2102 1037 1457 2499 93 7 0
10 25 0 6276 15164 560 6340 148 0 263 3 198 451 93 7 0
14 18 0 6212 11004 592 7692 696 0 841 0 204 441 94 6 0
12 20 0 5920 14308 664 8336 120 0 724 0 208 371 91 9 0
18 15 0 5908 12484 680 8848 112 0 394 0 206 406 94 6 0
14 19 0 5672 5108 704 9720 908 0 339 0 229 484 81 19 0
25 7 2 6404 2076 684 10608 2500 3512 5500 1438 3203 5508 90 9 1
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
27 7 0 11020 3616 516 4320 0 4876 460 1619 455 754 89 11 0
19 15 2 15872 4876 412 4020 0 5040 434 1282 445 869 83 9 8
13 20 2 26596 7624 324 6700 5696 12964 1850 3303 1318 2583 71 12 17
15 18 1 26272 4392 332 7712 1032 0 292 0 221 290 92 8 0
15 18 1 25400 8948 348 8236 560 0 240 0 206 316 95 5 0
12 21 1 24788 11952 368 8628 228 0 310 0 243 361 94 6 0
13 19 1 24364 12576 412 9076 168 0 404 0 219 387 91 9 0
10 20 1 23880 17680 472 10404 608 0 976 0 225 372 94 6 0
10 21 1 23048 23324 484 11868 1380 0 620 0 186 281 93 7 0
10 20 0 22452 21824 508 12624 588 0 292 0 206 381 97 3 0
11 22 0 21884 25628 608 12892 344 0 240 0 198 345 95 5 0
17 26 0 21180 36512 644 13664 296 0 722 0 208 336 93 7 0
4 36 0 20236 37208 664 17268 3920 0 1263 0 494 793 93 7 0
4 31 1 18816 40448 688 17704 968 0 327 0 194 276 90 10 0
4 30 1 18604 37512 696 18092 500 0 155 0 231 302 94 6 0
7 26 1 18176 34728 720 18264 144 0 161 0 190 666 97 3 0
21 17 0 18144 28432 744 18480 24 0 188 0 203 776 89 11 0
31 7 0 18132 18856 768 18728 4 0 207 0 193 240 89 11 0
30 10 0 18096 9680 792 19164 132 0 324 0 191 422 92 8 0
37 3 0 15556 6968 788 12092 424 0 325 19 165 353 88 12 0
27 3 1 18940 23724 640 12624 11008 8948 9705 3006 5284 7710 63 10 28
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
28 5 1 18912 15808 648 12812 104 0 136 10 152 345 89 11 0
32 0 0 18912 6536 668 13304 0 0 398 0 222 421 95 5 0
30 0 0 18464 2320 648 9564 0 0 63 12 124 303 96 4 0
26 4 1 28688 2124 392 5536 912 10756 314 3110 664 1878 79 11 10
22 8 1 34980 6520 428 7304 4696 6996 2340 1772 852 1991 76 15 9
16 13 2 31940 12052 480 12828 12328 0 4521 53 2114 2658 56 9 35
18 13 0 30704 11908 520 13532 484 0 594 0 267 380 94 6 0
16 14 0 30292 14076 564 13892 160 0 243 0 213 323 98 2 0
13 17 0 30272 15996 580 14256 44 0 266 0 196 374 92 8 0
16 17 0 29204 28628 596 14452 324 0 231 0 202 472 92 8 0
13 30 1 28444 28440 624 14872 496 0 224 0 216 519 91 9 0
8 30 1 27960 39304 640 15224 528 0 240 0 215 415 90 10 0
7 32 1 27532 37348 648 16008 772 0 246 0 210 320 88 13 0
7 28 1 26844 37236 648 16404 640 0 274 0 206 353 94 6 0
6 24 1 26820 38828 672 16768 80 0 274 0 199 537 92 8 0
6 24 1 26656 40184 676 17124 188 0 217 0 187 576 90 10 0
8 23 1 26160 37260 708 17068 208 0 222 0 193 508 90 10 0
19 12 1 26144 34360 748 17488 0 0 341 0 212 463 87 13 0
21 12 1 26144 25116 788 17884 36 0 344 0 210 435 91 9 0
22 12 0 25676 19760 812 18236 192 0 305 0 189 462 90 10 0
27 3 0 25396 16728 848 18388 76 0 169 0 207 458 88 12 0
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
33 1 0 25376 7592 852 18840 44 0 292 0 202 418 93 7 0
31 0 0 23220 6296 860 12904 80 356 34 123 169 347 90 10 0
30 1 0 21228 3504 664 9604 20 0 15 495 159 303 90 10 0
28 2 1 23624 5368 368 6160 604 2744 422 845 451 702 89 11 0
16 16 1 67628 6552 332 7124 14852 45668 6925 11475 3605 7525 70 11 19
14 13 1 46900 63392 340 14304 9096 0 2713 0 1916 2382 96 4 0
4 26 0 45848 65716 356 15052 736 0 429 0 251 298 98 2 0
3 28 0 44716 71556 392 15820 1004 0 444 0 317 346 96 4 0
2 30 0 42572 78660 396 17168 1788 0 542 0 325 430 95 5 0
3 27 1 41160 84244 404 17736 868 0 289 0 231 319 83 5 12
1 29 2 40696 84236 412 18192 756 0 195 0 224 321 43 4 53
1 29 0 40568 83224 432 18484 356 0 134 0 209 256 73 5 22
1 32 1 37412 86220 440 18444 1432 0 370 0 496 729 34 5 61
0 32 0 37228 86772 464 18928 484 0 249 0 235 359 5 14 82
2 35 0 36948 86600 540 19808 892 0 498 0 469 622 2 10 88
0 39 2 36948 83668 572 20412 164 0 493 0 217 258 2 17 81
1 36 1 36828 83292 592 20792 292 0 183 0 206 285 3 13 84
2 32 1 36520 81708 600 21348 704 0 214 0 226 284 4 12 84
1 33 2 36452 79308 604 21964 640 0 201 0 218 271 5 16 80
1 34 1 36412 76652 608 22844 776 0 236 0 237 295 3 19 78
0 36 2 35308 75660 620 23404 1356 0 364 0 389 487 1 10 90
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
1 38 1 34796 74688 628 23380 336 0 111 0 201 274 6 13 82
0 37 1 34768 70912 652 23620 112 0 154 0 187 387 12 15 72
1 35 1 34744 67508 664 23908 128 0 177 0 190 609 20 12 68
3 34 1 34728 66216 676 24412 280 0 246 0 194 423 10 20 70
6 31 1 34284 64564 688 24612 268 0 258 0 233 679 6 14 79
2 35 1 34280 61900 696 25136 372 0 208 0 244 813 13 16 72
2 35 2 33780 61148 716 25160 236 0 212 0 200 444 13 21 66
5 29 1 33728 58308 720 25400 156 0 138 5 186 577 19 24 56
16 18 0 33676 52856 728 25756 248 0 191 0 206 597 51 13 36
9 27 0 32784 52148 736 25444 200 0 310 0 212 406 65 4 31
17 20 0 32764 40940 752 25872 76 0 337 0 208 460 82 18 0
15 18 1 32524 33024 768 26172 228 0 253 0 197 455 95 5 0
18 13 0 32484 25564 780 26376 156 0 119 3 178 445 93 7 0
24 8 0 32468 17644 788 26644 192 0 114 0 189 481 89 11 0
38 3 0 31972 8816 800 26624 220 0 130 0 185 424 92 8 0
32 2 0 24892 7408 796 17824 48 0 49 16 137 264 85 15 0
32 0 2 18536 8108 716 10140 0 0 91 391 209 356 97 3 0
29 1 0 18468 2624 644 8528 0 176 87 321 237 350 94 6 0
19 13 1 59208 1548 200 6852 9188 41644 5319 10632 2719 6203 57 16 27
2 31 2 42120 96592 208 14588 20792 8872 5796 2220 3974 5417 59 5 35
0 30 2 41088 95540 220 16052 1316 0 692 0 231 294 3 20 78
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
3 29 2 41004 92688 232 18484 2300 0 777 0 249 284 1 17 82
0 30 2 40736 90764 276 19932 1068 0 871 0 211 283 2 11 88
0 31 3 40184 89748 288 20744 1160 0 338 0 212 309 0 20 80
1 29 2 39652 89232 304 21216 852 0 227 0 203 320 4 13 84
0 31 3 38420 90168 308 20956 576 0 162 0 250 415 6 11 83
0 30 3 37704 90192 316 20964 492 0 128 0 224 347 3 10 88
1 29 2 37624 89436 364 21228 336 0 136 0 205 218 1 19 80
0 39 3 37424 86800 376 21664 368 0 347 0 214 369 6 13 82
0 40 2 37320 86736 388 21940 260 0 151 0 204 264 4 20 76
0 42 3 37296 84452 408 22288 216 0 192 0 201 334 3 14 83
0 37 3 37164 82808 424 22640 412 0 154 0 211 348 6 21 73
1 36 3 36988 76488 436 22912 360 0 176 0 215 313 11 13 77
0 35 2 36936 73720 448 23192 152 0 203 0 183 387 8 18 74
1 33 3 36908 70824 464 23460 128 0 164 0 189 498 10 17 73
1 34 2 36884 68648 520 23644 80 0 158 0 190 453 14 21 65
14 16 3 36880 67312 548 24136 36 0 419 0 195 698 14 19 67
1 30 2 36808 61468 556 24540 172 0 275 0 195 781 29 15 56
20 14 3 36692 55904 572 25052 88 0 366 0 187 728 64 12 24
9 24 2 36684 48228 604 25396 32 0 278 0 221 618 69 9 22
12 21 2 36624 39304 620 25764 124 0 290 0 210 507 91 9 0
18 14 2 36616 30468 664 26164 0 0 385 0 203 483 94 6 0
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
34 5 0 36576 20600 700 26316 60 0 131 3 188 452 86 14 0
30 1 0 36568 10904 712 26372 0 0 57 0 130 319 91 9 0
31 0 0 36568 3096 712 26376 0 0 1 0 104 377 98 2 0
30 0 0 22804 12724 560 10024 0 0 7 482 136 376 93 7 0
30 0 0 22804 4992 560 10024 0 0 0 0 103 326 91 9 0
30 0 0 22804 2364 368 6412 0 0 1 165 239 331 89 11 0
18 11 1 58376 69508 196 18664 35372 57904 12313 14517 7579 15805 51 14 35
1 29 1 41792 89172 200 17300 604 0 165 0 236 351 20 9 71
2 29 1 41468 88916 232 18732 1404 0 631 0 343 497 1 15 83
2 29 2 41192 87852 276 19544 432 0 715 0 214 368 3 14 83
1 30 1 40944 87580 300 19812 460 0 140 0 254 373 2 10 88
1 34 2 40480 87524 332 20040 512 0 155 0 285 447 3 12 85
1 31 2 39556 87696 344 20768 1188 0 306 0 452 692 3 6 91
1 33 1 39480 87444 384 21056 344 0 126 0 208 304 3 17 81
0 36 1 39456 85068 400 21604 316 0 349 0 215 282 6 15 79
1 41 1 39224 84144 408 21952 484 0 184 0 233 328 4 14 82
1 40 2 39220 82892 448 22176 100 0 168 0 186 264 2 23 75
1 40 1 39072 83528 492 22644 264 0 247 0 233 363 4 13 82
0 33 1 39024 81272 536 23144 244 0 397 0 211 293 5 14 81
0 33 1 38864 80208 544 23472 400 0 164 0 222 343 6 10 84
1 32 2 38380 77284 552 23632 376 0 200 0 199 273 7 13 81
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
1 33 2 38356 75848 556 23928 188 0 141 0 190 311 8 20 72
0 32 2 38004 76080 556 24244 456 0 133 0 219 258 2 10 88
0 34 1 37384 75828 556 24376 564 0 146 0 229 264 2 12 86
0 35 1 37356 73676 564 24736 284 0 143 0 198 415 10 19 71
1 32 1 36824 70936 564 24728 248 0 130 0 194 452 10 15 76
0 32 1 36824 67848 572 25392 76 0 172 0 181 658 21 10 69
0 30 2 36476 66168 588 25520 308 0 130 0 196 299 10 16 73
1 29 1 36428 63852 600 25808 304 0 113 1 193 225 5 20 75
3 31 0 36356 58696 608 26204 380 0 180 0 206 341 13 16 72
21 14 0 35736 53688 616 26136 252 0 175 0 195 601 29 12 59
19 12 0 35728 45400 632 26484 32 0 263 0 192 713 61 19 19
19 10 0 35728 36148 652 27088 0 0 491 0 233 520 90 10 0
26 9 0 35704 26172 672 27380 88 0 211 0 188 442 91 9 0
33 0 0 35696 16648 672 27460 20 0 51 0 127 337 91 9 0
30 0 0 35696 7796 672 27460 0 0 0 0 103 358 93 7 0
30 0 1 19756 18184 524 10244 0 4 4 1174 146 429 90 10 0
29 1 1 20388 11716 352 10896 0 636 39 239 258 404 90 10 0
30 0 0 21180 5652 280 11576 0 816 12 204 147 298 95 5 0
30 0 0 21608 2072 192 8856 60 436 15 109 112 297 95 5 0
28 3 1 24092 3068 200 4528 892 2604 856 656 321 767 88 12 0
3 20 1 35852 76236 356 14680 27504 45208 12421 11340 6344 10814 63 13 24
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
20 13 1 29772 37160 636 19968 4872 0 4194 5 3890 7941 28 15 57
21 12 0 28424 37284 636 19976 548 0 153 0 220 526 93 7 0
20 11 0 28416 29240 636 20404 260 0 137 0 187 476 92 8 0
21 10 0 27668 21556 640 20344 400 0 132 0 216 576 92 8 0
29 7 0 27632 11768 644 20688 292 0 135 0 197 508 93 7 0
30 0 0 27128 3172 652 20748 356 0 107 25 219 452 89 11 0
30 0 0 22176 1360 668 15228 292 88 167 33 219 488 91 9 0
29 1 1 17628 2664 560 7916 0 0 67 434 246 437 96 4 0
3 12 1 29380 66744 692 25740 42336 49644 17633 12680 12509 19058 59 9 32
0 29 1 29024 66616 692 26000 472 0 128 0 227 287 2 14 84
3 27 0 29020 65492 696 26440 412 0 126 0 215 400 9 13 79
0 31 0 28092 64608 704 26328 204 0 187 0 186 514 43 17 39
17 14 0 27976 58576 708 26580 112 0 211 0 187 491 44 15 42
9 22 1 27928 55640 724 26940 284 0 158 0 203 376 22 4 74
3 28 1 27488 53024 728 27032 232 0 171 0 179 307 19 17 63
21 12 1 27488 43668 740 27436 160 0 262 0 180 438 95 5 0
23 11 1 27040 33824 756 27448 248 0 142 0 196 419 91 9 0
26 9 0 27028 23824 772 27628 64 0 127 153 197 343 86 14 0
26 6 0 26616 15308 776 27748 288 0 163 0 209 572 88 12 0
25 7 0 26556 6688 780 28012 148 0 157 0 179 507 94 6 0
28 3 0 16744 9412 796 17780 148 0 84 7 178 431 90 10 0
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
32 1 0 15408 2280 740 16360 260 0 102 42 177 389 91 9 0
30 2 0 8900 2052 560 9160 0 68 136 921 229 305 94 6 0
22 8 1 48764 2584 204 6384 7272 40136 2678 10198 2247 7503 59 17 25
16 15 3 84660 2032 216 8504 19844 36580 6786 9147 3267 6555 37 24 39
6 23 1 28716 100944 228 13424 82652 39884 22523 9973 21902 27333 22 10 68
1 30 1 25436 98712 244 15360 1652 0 951 0 623 910 0 8 91
2 15 1 23556 103628 280 15688 956 0 748 0 419 737 2 13 84
1 8 1 23112 103456 292 16412 936 0 287 0 403 622 7 6 86
0 11 2 22960 102556 320 16624 356 0 118 0 215 279 0 14 86
0 11 1 22960 102212 380 16796 144 0 120 0 198 213 0 15 85
0 11 1 22948 101272 408 17328 132 0 451 0 200 209 1 13 86
0 12 1 22944 99892 424 18032 108 0 357 0 202 215 2 17 82
1 11 2 22696 100076 444 18260 264 0 124 0 199 191 1 24 75
1 11 1 22684 99260 460 18704 304 0 183 0 207 235 3 14 83
2 12 1 22684 98632 468 19108 212 0 163 0 203 228 0 14 86
0 12 1 22116 98152 480 19132 212 0 208 0 190 214 3 16 82
0 12 2 22088 97508 492 19424 184 0 155 0 183 200 0 17 83
0 12 1 22040 96916 508 19664 244 0 119 0 196 208 2 17 81
2 9 1 21960 92976 512 19904 240 0 124 0 186 335 39 9 52
2 9 1 21936 91348 520 20192 220 0 123 0 186 234 81 4 15
0 12 1 21668 90412 548 20224 92 0 191 0 191 217 90 3 7
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
1 12 1 21484 94780 560 20404 144 0 130 0 177 177 6 6 88
0 11 2 21204 95200 572 20600 152 0 134 0 182 205 4 15 82
3 7 0 21156 89492 588 20864 188 0 123 4 189 326 54 15 31
1 7 0 21156 95728 608 21168 160 0 161 0 188 321 74 5 21
0 10 0 20540 95796 624 21184 348 0 183 0 200 368 85 6 9
7 12 0 20500 86940 648 21700 212 0 405 0 180 221 45 13 43
12 9 0 20468 75452 664 21980 116 0 189 0 184 370 85 15 0
16 11 1 20456 65080 708 22316 12 0 362 0 193 371 91 9 0
16 10 0 20444 55440 740 22680 88 0 279 0 202 402 89 11 0
21 9 0 20420 44680 772 22968 44 0 272 0 200 387 89 11 0
26 7 0 20136 37624 788 23528 232 0 244 0 191 361 93 7 0
28 6 0 20136 29704 804 23584 32 0 32 0 136 288 88 12 0
36 5 0 20128 18344 828 23700 12 0 133 110 148 297 87 13 0
37 5 0 20128 9936 856 23796 0 0 105 0 148 307 93 7 0
31 1 0 20128 3540 856 23844 0 0 27 0 113 261 85 15 0
32 1 0 10268 7968 852 13628 0 0 231 25 179 319 87 13 0
30 0 0 10240 1516 848 13708 0 0 76 0 128 330 93 7 0
30 0 0 7144 2680 596 7476 0 0 0 1182 166 324 93 7 0
8 17 1 26724 84796 432 18616 30552 45820 10554 11503 6812 11108 81 7 12
2 28 1 23852 85048 484 18688 272 0 216 0 213 232 61 2 37
0 28 2 23004 86540 532 19020 516 0 175 0 225 231 54 6 40
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
6 12 2 20744 97716 564 18484 676 0 236 0 277 477 11 13 76
2 16 1 20644 95792 580 19236 280 0 584 0 214 317 12 20 69
2 16 1 20612 95696 620 19412 28 0 178 3 201 214 10 27 63
3 10 1 20452 95756 644 19976 236 0 228 0 190 234 7 12 81
0 13 0 20428 95272 656 20208 192 0 105 0 179 211 2 14 84
4 27 0 20404 86804 676 20552 184 0 209 0 181 308 17 19 64
1 24 0 20404 84400 684 20848 156 0 138 0 181 233 5 17 78
0 25 2 19720 84656 692 20624 148 0 114 0 177 247 2 20 78
0 25 1 19664 82828 696 20864 140 0 152 0 178 279 9 21 70
0 25 1 19636 79908 700 21248 216 0 208 0 183 320 16 14 69
19 11 1 19620 69984 728 21556 16 0 280 0 212 443 73 11 17
25 5 0 19616 61628 740 21928 48 0 273 0 174 373 88 12 0
31 4 0 19612 50268 748 22084 12 0 154 0 124 269 89 11 0
31 5 0 19612 41476 768 22192 0 0 93 0 145 342 90 10 0
32 4 0 19608 31616 772 22280 40 0 48 0 126 364 86 14 0
32 2 0 19212 22504 772 22364 332 0 95 0 165 467 93 7 0
32 2 0 19212 13260 792 22420 0 0 63 0 129 300 94 6 0
31 0 0 19212 4716 800 22436 0 0 20 0 112 354 88 12 0
31 1 0 16260 1296 780 18900 0 0 55 8 119 314 94 6 0
31 0 0 9780 1404 740 11324 0 0 4 77 104 393 89 11 0
30 0 0 5932 1796 560 4200 0 0 26 746 288 480 92 8 0
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
10 10 1 22940 85040 316 12232 40468 44596 13506 11242 7268 11049 59 14 27
7 9 0 16936 101028 320 11724 992 0 320 0 400 625 72 5 23
1 29 1 15876 97988 344 12368 268 0 519 0 221 601 94 3 4
0 4 1 14636 104548 372 12488 268 0 329 3 195 416 68 9 24
0 3 1 14100 107112 460 12900 52 0 521 0 236 288 5 22 74
0 3 1 14100 105780 496 13404 44 0 478 0 262 223 2 21 77
0 3 0 14096 104312 512 14804 72 0 548 0 251 197 10 27 64
0 3 0 13604 105456 516 15328 564 0 179 0 190 198 2 24 74
1 2 1 13556 104900 516 15756 476 0 122 0 220 280 0 10 90
1 1 1 12516 105380 524 15440 348 0 131 0 203 215 0 14 86
1 0 1 12172 105496 524 15888 520 0 130 0 227 301 4 1 95
0 1 0 11632 104852 540 16144 476 0 284 0 273 326 3 8 89
0 1 0 11632 100784 620 17996 0 0 1015 0 361 316 6 22 72
1 0 1 11620 99972 656 20416 12 0 679 0 242 541 45 8 48
1 0 0 11620 96980 680 22620 0 0 315 0 138 94 73 8 19
1 0 0 11620 96628 680 22940 0 0 0 0 101 11 100 0 0
1 0 0 11620 96408 684 23136 0 0 0 0 101 7 100 0 0
1 0 0 11620 97888 728 21696 0 0 184 0 174 174 36 14 50
1 0 1 11620 96712 748 22388 0 0 467 0 275 392 4 7 89
1 0 0 11620 93284 756 22916 0 0 237 0 135 81 79 3 18
0 1 0 11620 95852 792 23784 0 0 367 0 189 193 60 4 36
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
2 0 0 11620 94636 848 25448 8 0 192 0 165 153 35 8 57
0 0 0 11364 94896 852 25560 184 0 114 0 147 104 0 64 36
0 0 0 11364 94896 852 25560 0 0 0 0 101 7 0 96 4
0 0 0 11364 94896 852 25560 0 0 0 0 101 12 0 94 6
0 0 0 11364 94896 852 25560 0 0 0 0 101 12 0 94 6
0 0 0 11364 94896 852 25560 0 0 0 0 101 7 0 96 4
0 0 0 11356 94768 856 25664 12 0 106 0 115 29 0 88 12
0 0 0 11356 94768 856 25664 0 0 0 0 107 18 0 94 6
0 0 0 11356 94768 856 25664 0 0 0 129 115 10 0 94 6
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] test5-1 vm fix
2000-07-16 8:16 ` Mike Galbraith
@ 2000-07-16 19:33 ` Rik van Riel
2000-07-17 7:10 ` Roger Larsson
2000-07-17 7:46 ` Mike Galbraith
2000-07-17 17:21 ` Mark Hahn
1 sibling, 2 replies; 9+ messages in thread
From: Rik van Riel @ 2000-07-16 19:33 UTC (permalink / raw)
To: Mike Galbraith; +Cc: Roger Larsson, Linus Torvalds, linux-kernel, linux-mm
On Sun, 16 Jul 2000, Mike Galbraith wrote:
> On Sun, 16 Jul 2000, Roger Larsson wrote:
>
> > Since I am responsible for messing up some aspects of vm
> > (when fixing others)
> > here is a patch that tries to solve the introduced problems.
> Unfortunately, this didn't improve anything here.
As was to be expected ...
Roger, I thought I explained you yesterday why stuff didn't work
and how it could be fixed? ;)
(and no, I'm not interested in trying to fix 2.4 VM right now
since I'll be going to OLS and last time it took only two weeks
for VM to be fucked up while I was away)
cheers,
Rik
--
"What you're running that piece of shit Gnome?!?!"
-- Miguel de Icaza, UKUUG 2000
http://www.conectiva.com/ http://www.surriel.com/
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] test5-1 vm fix
2000-07-16 19:33 ` Rik van Riel
@ 2000-07-17 7:10 ` Roger Larsson
2000-07-17 7:46 ` Mike Galbraith
1 sibling, 0 replies; 9+ messages in thread
From: Roger Larsson @ 2000-07-17 7:10 UTC (permalink / raw)
To: Rik van Riel; +Cc: Mike Galbraith, linux-kernel, linux-mm
Rik van Riel wrote:
>
> On Sun, 16 Jul 2000, Mike Galbraith wrote:
> > On Sun, 16 Jul 2000, Roger Larsson wrote:
> >
> > > Since I am responsible for messing up some aspects of vm
> > > (when fixing others)
> > > here is a patch that tries to solve the introduced problems.
>
> > Unfortunately, this didn't improve anything here.
>
> As was to be expected ...
>
> Roger, I thought I explained you yesterday why stuff didn't work
> and how it could be fixed? ;)
>
> (and no, I'm not interested in trying to fix 2.4 VM right now
> since I'll be going to OLS and last time it took only two weeks
> for VM to be fucked up while I was away)
>
Yes, Now I remember...
We should alway start kswapd after when all zones are found
to be zone_wake_kswapd... (but it will then only run once... but
probably free more pages than we alloc)
Expect a new patch soon... I will do more performance testing this
time...
/RogerL
> cheers,
>
> Rik
> --
> "What you're running that piece of shit Gnome?!?!"
> -- Miguel de Icaza, UKUUG 2000
>
> http://www.conectiva.com/ http://www.surriel.com/
--
Home page:
http://www.norran.net/nra02596/
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] test5-1 vm fix
2000-07-16 19:33 ` Rik van Riel
2000-07-17 7:10 ` Roger Larsson
@ 2000-07-17 7:46 ` Mike Galbraith
2000-07-17 14:44 ` Rik van Riel
1 sibling, 1 reply; 9+ messages in thread
From: Mike Galbraith @ 2000-07-17 7:46 UTC (permalink / raw)
To: Rik van Riel; +Cc: Roger Larsson, Linus Torvalds, linux-kernel, linux-mm
On Sun, 16 Jul 2000, Rik van Riel wrote:
> On Sun, 16 Jul 2000, Mike Galbraith wrote:
> > Unfortunately, this didn't improve anything here.
>
> As was to be expected ...
one can only hope and test.
> (and no, I'm not interested in trying to fix 2.4 VM right now
> since I'll be going to OLS and last time it took only two weeks
> for VM to be fucked up while I was away)
darn.
Do you already know what it's up to during one of these nasty stalls?
If not, and it would be helpful, I can take a mondo ktrace snapshot
of one and [struggle mode on] try to find out.
Anyone have wild and crazy ideas that want testing while Rik is away?
-Mike
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] test5-1 vm fix
2000-07-17 7:46 ` Mike Galbraith
@ 2000-07-17 14:44 ` Rik van Riel
2000-07-17 19:01 ` Mike Galbraith
0 siblings, 1 reply; 9+ messages in thread
From: Rik van Riel @ 2000-07-17 14:44 UTC (permalink / raw)
To: Mike Galbraith; +Cc: Roger Larsson, Linus Torvalds, linux-kernel, linux-mm
On Mon, 17 Jul 2000, Mike Galbraith wrote:
> On Sun, 16 Jul 2000, Rik van Riel wrote:
> > On Sun, 16 Jul 2000, Mike Galbraith wrote:
> > > Unfortunately, this didn't improve anything here.
> >
> > As was to be expected ...
>
> one can only hope and test.
Alternatively, one can learn from the patches and
mistakes of others and try to understand how stuff
works.
> > (and no, I'm not interested in trying to fix 2.4 VM right now
> > since I'll be going to OLS and last time it took only two weeks
> > for VM to be fucked up while I was away)
>
> darn.
>
> Do you already know what it's up to during one of these nasty
> stalls?
There's nothing wrong with the current VM that wasn't
fixed in one of my patches the last 8 weeks.
(except for the fundamental design flaws, which I will
fix in the *next* N+1 weeks)
regards,
Rik
--
"What you're running that piece of shit Gnome?!?!"
-- Miguel de Icaza, UKUUG 2000
http://www.conectiva.com/ http://www.surriel.com/
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] test5-1 vm fix
2000-07-16 8:16 ` Mike Galbraith
2000-07-16 19:33 ` Rik van Riel
@ 2000-07-17 17:21 ` Mark Hahn
2000-07-17 20:22 ` Mike Galbraith
1 sibling, 1 reply; 9+ messages in thread
From: Mark Hahn @ 2000-07-17 17:21 UTC (permalink / raw)
To: Mike Galbraith; +Cc: linux-mm
> RFC concerning make -j30 bzImage as basic VM test:
> Rik called this an 'odd' workload. IMHO it is an excellent basic VM test
> (IFF the size of the job is adjusted to _not quite_ fit in ram). In my
and do you know whether "make -j30" just barely exceeds ram?
> time make -j30 bzImage on 128mb PIII/500 w. single ide drive.
hmm I presume the disk is some reasonable mode (udma), but this
means that swapping will destructively interfere with any real IO.
I guess I don't see why this is a sane workload: it doesn't resemble
basic workstation load (which never has 30 runnable processes),
and it doesn't resemble "server" load (which might have 30, but would
certainly have more than a single disk.)
> 31 7 0 18132 18856 768 18728 4 0 207 0 193 240 89 11 0
> 30 10 0 18096 9680 792 19164 132 0 324 0 191 422 92 8 0
> 37 3 0 15556 6968 788 12092 424 0 325 19 165 353 88 12 0
> 27 3 1 18940 23724 640 12624 11008 8948 9705 3006 5284 7710 63 10 28
hmm, clearly going over 30 several times. and in this case, the forkbomb
is causing the machine to thrash. unsurprising eh?
peak was 41, I think. I presume this is because make isn't counting
the multiple processes that gcc -pipe forks.
regards, mark hahn.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] test5-1 vm fix
2000-07-17 14:44 ` Rik van Riel
@ 2000-07-17 19:01 ` Mike Galbraith
0 siblings, 0 replies; 9+ messages in thread
From: Mike Galbraith @ 2000-07-17 19:01 UTC (permalink / raw)
To: Rik van Riel; +Cc: Roger Larsson, Linus Torvalds, linux-kernel, linux-mm
On Mon, 17 Jul 2000, Rik van Riel wrote:
> On Mon, 17 Jul 2000, Mike Galbraith wrote:
> > On Sun, 16 Jul 2000, Rik van Riel wrote:
> > > On Sun, 16 Jul 2000, Mike Galbraith wrote:
> > > > Unfortunately, this didn't improve anything here.
> > >
> > > As was to be expected ...
> >
> > one can only hope and test.
>
> Alternatively, one can learn from the patches and
> mistakes of others and try to understand how stuff
> works.
I read them all from top to bottom, and listen at full volume.
> > Do you already know what it's up to during one of these nasty
> > stalls?
>
> There's nothing wrong with the current VM that wasn't
> fixed in one of my patches the last 8 weeks.
>
> (except for the fundamental design flaws, which I will
> fix in the *next* N+1 weeks)
I look forward to trying out the result.
> regards,
>
> Rik
Cheers,
-Mike
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] test5-1 vm fix
2000-07-17 17:21 ` Mark Hahn
@ 2000-07-17 20:22 ` Mike Galbraith
0 siblings, 0 replies; 9+ messages in thread
From: Mike Galbraith @ 2000-07-17 20:22 UTC (permalink / raw)
To: Mark Hahn; +Cc: linux-mm
On Mon, 17 Jul 2000, Mark Hahn wrote:
> > RFC concerning make -j30 bzImage as basic VM test:
> > Rik called this an 'odd' workload. IMHO it is an excellent basic VM test
> > (IFF the size of the job is adjusted to _not quite_ fit in ram). In my
>
> and do you know whether "make -j30" just barely exceeds ram?
On my box, yes. It peaks higher than I like, though only briefly.
> > time make -j30 bzImage on 128mb PIII/500 w. single ide drive.
>
> hmm I presume the disk is some reasonable mode (udma), but this
> means that swapping will destructively interfere with any real IO.
Yes to both. Swap is always destructive to other io unless you use
dedicated controllers/drives for swap.
My poor io system is exactly why I don't push hard. I flat don't
have much bandwidth, and never want to reach max throughput. When
I test VM, I'm generally looking to see how _little_ disk io is used.
This workload doesn't saturate disk when vm is working well.
(solid disk lite means you're trying to do the impossible.. I don't)
> I guess I don't see why this is a sane workload: it doesn't resemble
> basic workstation load (which never has 30 runnable processes),
> and it doesn't resemble "server" load (which might have 30, but would
> certainly have more than a single disk.)
I do this because it is cpu intensive with many jobs competing for
memory services. I see it only as 30 cpu/memory hungry mouths to
feed, with the added benefit of having some (.h) cachable data to
see how well VM decides when/what to keep/toss. It's certainly
overloaded.. the only time swap ever gets any real exercise. My
only choice in testing is to do it with data or tasks. It's easier
to use many tasks than just a couple with massive data and ensure
that io saturation isn't reached.
Sane? My box could be a classroom box with thirty students with
an assignment to compile a program.. a kernel is a program ;-)
> > 31 7 0 18132 18856 768 18728 4 0 207 0 193 240 89 11 0
> > 30 10 0 18096 9680 792 19164 132 0 324 0 191 422 92 8 0
> > 37 3 0 15556 6968 788 12092 424 0 325 19 165 353 88 12 0
> > 27 3 1 18940 23724 640 12624 11008 8948 9705 3006 5284 7710 63 10 28
>
> hmm, clearly going over 30 several times. and in this case, the forkbomb
> is causing the machine to thrash. unsurprising eh?
It goes over thirty, but is not forkbombing the box. Old make, you had
to be very very careful with.. new make throttles itself pretty well.
Thanks for your comments.
-Mike
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2000-07-17 20:22 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-07-15 23:07 [PATCH] test5-1 vm fix Roger Larsson
2000-07-16 8:16 ` Mike Galbraith
2000-07-16 19:33 ` Rik van Riel
2000-07-17 7:10 ` Roger Larsson
2000-07-17 7:46 ` Mike Galbraith
2000-07-17 14:44 ` Rik van Riel
2000-07-17 19:01 ` Mike Galbraith
2000-07-17 17:21 ` Mark Hahn
2000-07-17 20:22 ` Mike Galbraith
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox