Re: [PFC]: hash instrumentation

Andrea Arcangeli (andrea@e-mind.com)
Thu, 8 Apr 1999 21:20:43 +0200 (CEST)


On Thu, 8 Apr 1999, Chuck Lever wrote:

>logic to see what you tried out. i took a stock 2.2.5 kernel and took out
>the "run_task_queue()" in wakeup_bdflush() just to see what that it would
>do. that made things a little worse, so i'm guessing you also had some

The run_task_queue() removal was a minor issue according to me.

My point is that if we are going to sleep and wakeup bdflush we don't need
to run_task_queue() _before_ running bdflush(). When bdflush will start
some request, it will then call run_task_queue at the end.

So the removal wasn't intented to get performances but to remove a thing
that made no sense to me and that should change nothing.

>i'm discovering that a 13 bit hash mitigates the spikey size distribution
>in the page hash *better* than the +offset change. although i've been
>able to push the system into swap, i still haven't seen any degenerate
>hash behavior that's as bad as the buffer cache's hash function.

;)

To make sure that you have many swap cache entries allocated in the
hash-buckets you must press SYSRQ+M and check the number of swap cache
pages. If the number is high and the distribution is good it even without
+offset it means that it didn't relevant differences.

>alignment mod in your latest patch. the numbers were about the same as
>before. it would probably be a good idea if someone could actually take a

Well I think I'll remove it. Mark was right that since we are always
single threaded we can't generate a ping-pong between cachelines on
different CPUs (as instead happens in the irq-struct case). But I wanted
to get numbers before removing it ;)). Thanks.

Andrea Arcangeli

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