Messages in this thread | | | Date | Mon, 4 Jun 2001 00:52:51 -0400 (EDT) | From | Mark Hahn <> | Subject | Re: [PATCH] balance inactive_dirty list |
| |
> 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/
| |