From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Zijlstra Subject: Re: [PATCH 1/2] sched: add virt sched domain for the guest Date: Wed, 23 May 2012 10:48:34 +0200 Message-ID: <1337762914.9698.65.camel@twins> References: <1337754751-9018-1-git-send-email-kernelfans@gmail.com> <1337754751-9018-2-git-send-email-kernelfans@gmail.com> <1337759644.9698.49.camel@twins> <1337761402.9698.62.camel@twins> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: quoted-printable Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, qemu-devel@nongnu.org, Ingo Molnar , Avi Kivity , Anthony Liguori To: Liu ping fan Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Sender: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org List-Id: kvm.vger.kernel.org On Wed, 2012-05-23 at 16:34 +0800, Liu ping fan wrote: > so we need to migrate some of vcpus from node-B to node-A, or to > node-C. This is absolutely broken, you cannot do that. A guest task might want to be node affine, it looks at the topology sets a cpu affinity mask and expects to stay on that node. But then you come along, and flip one of those cpus to another node. The guest task will now run on another node and get remote memory accesses. Similarly for the guest kernel, it assumes cpu:node maps are static, it will use this for all kinds of things, including the allocation of per-cpu memory to be node affine to that cpu. If you go migrate cpus across nodes everything comes down. Please go do something else, I'll do this.