Re: [PATCH 1/5] cpuset memory spread basic implementation

From: Andrew Morton
Date: Sun Feb 05 2006 - 23:36:18 EST


Paul Jackson <pj@xxxxxxx> wrote:
>
> This policy can provide substantial improvements for jobs that
> need to place thread local data on the corresponding node, but
> that need to access large file system data sets that need to
> be spread across the several nodes in the jobs cpuset in order
> to fit. Without this patch, especially for jobs that might
> have one thread reading in the data set, the memory allocation
> across the nodes in the jobs cpuset can become very uneven.


It all seems rather ironic. We do vast amounts of development to make
certain microbenchmarks look good, then run a real workload on the thing,
find that all those microbenchmark-inspired tweaks actually deoptimised the
real workload? So now we need to add per-task knobs to turn off the
previously-added microbenchmark-tweaks.

What happens if one process does lots of filesystem activity and another
one (concurrent or subsequent) wants lots of thread-local storage? Won't
the same thing happen?

IOW: this patch seems to be a highly specific bandaid which is repairing an
ill-advised problem of our own making, does it not?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/