Re: [PATCH] balance inactive_dirty list

Mark Hahn (hahn@coffee.psychology.mcmaster.ca)
Mon, 4 Jun 2001 00:52:51 -0400 (EDT)


> while observing lots of different workloads (all I/O bound). Finally,

well, not all loads are IO-bound in the sense you're looking at.
in particular, the test I usually run (make -j2 with mem=48m)
is actually hurt by this patch. but you're right, this change
does improve streaming IO.

> We're trying to be too clever there, and that eventually hurts
> performance because inactive_dirty list is too small for typical

I certainly agree the code is dubious, but this is the reason
inactive_target exists, afaikt.

> have tested. The patch simplifies code a lot and removes unnecessary
> complex calculation. Code is now completely autotuning. I have a

otoh, the "complex calculation" was always trivial,
and *more* autotuning than your suggested fix...

> - if (!target) {
> - int inactive = nr_free_pages() + nr_inactive_clean_pages() +
> - nr_inactive_dirty_pages;
> - int active = MAX(nr_active_pages, num_physpages / 2);
> - if (active > 10 * inactive)
> - maxscan = nr_active_pages >> 4;
> - else if (active > 3 * inactive)
> - maxscan = nr_active_pages >> 8;
> - else
> - return 0;
> - }
> + if (!target)
> + maxscan = nr_active_pages >> 4;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/