[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110207095141.GA26132@andariel.informatik.uni-erlangen.de>
Date: Mon, 7 Feb 2011 10:51:42 +0100
From: Daniel Tiron <dtiron@...ian.armed.us>
To: LKML <linux-kernel@...r.kernel.org>
Subject: Does the scheduler know about the cache topology?
Hi all.
I did some performance tests on a Core 2 Quad machine [1] with QEMU.
A QEMU instance creates one main thread and one thread for each virtual
CPU. There were two vms with one CPU each, which make four threads.
I tried different combinations where I pinned one tgread to one physical
core with taskset and measured the network performance between the vms
with iperf [2]. The best result was achieved with each vm (main and CPU
thread) assigned to one cache group (core 0 & 1 and 2 & 3).
But it also turns out that letting the scheduler handle the assignment
works well, too: The results where no pinning was done were just
slightly below the best. So I was wondering, is the Linux scheduler
aware of the CPU's cache topology?
I'm curious to hear your opinion.
Thanks,
Daniel
[1] Core 0 and 1 share one L2 cache and so do 2 and 3
[2] The topic of my research is networking performance. My interest in
cache awareness is only a side effect.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists