Re: [RFC v1][PATCH]page_fault retry with NOPAGE_RETRY
From: Mike Waychison
Date: Thu Nov 27 2008 - 14:12:21 EST
Peter Zijlstra wrote:
On Thu, 2008-11-27 at 01:28 -0800, Mike Waychison wrote:
Correct. I don't recall the numbers from the pathelogical cases we were
seeing, but iirc, it was on the order of 10s of seconds, likely
exascerbated by slower than usual disks. I've been digging through my
inbox to find numbers without much success -- we've been using a variant
of this patch since 2.6.11.
We generally try to avoid such things, but sometimes it a) can't be
easily avoided (third party libraries for instance) and b) when it hits
us, it affects the overall health of the machine/cluster (the monitoring
daemons get blocked, which isn't very healthy).
If its only monitoring, there might be another solution. If you can keep
the required data in a separate (approximate) copy so that you don't
need mmap_sem at all to show them.
If your mmap_sem is so contended your latencies are unacceptable, adding
more users to it - even statistics gathering, just isn't going to cure
the situation.
Furthermore, /proc code usually isn't written with performance in mind,
so its usually simple and robust code. Adding it to a 'hot'-path like
you're doing doesn't seem advisable.
Also, releasing and re-acquiring mmap_sem can significantly add to the
cacheline bouncing that thing already has.
This is much less of a worry. We expect to be able to look at these
things on the order of 1HZ, so cacheline bouncing becomes negligible.
Latency to lock acquire however hurts and is silly considering it's just
another reader. Our monitoring software here is acting as a litmus test
and the real pain is felt by other threads in the same process who are
also blocked trying to acquire the read lock.
--
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/