[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] xen/sched: fix sched_move_domain()


  • To: Juergen Gross <jgross@xxxxxxxx>
  • From: Henry Wang <Henry.Wang@xxxxxxx>
  • Date: Thu, 19 Oct 2023 11:31:04 +0000
  • Accept-language: zh-CN, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hTftYxIhLMCEGwnXlLd7+R+1t2DIWa7kh1eN2zlrEgA=; b=nbJ3b47CZMzouAOy9S2C0FX1+GikQ4UTFDpeZbng2oTqlAhIRzQl+JNNtI/MI2svVYBlBDdJp/AVtk8jvw3C0jV2l3Ejd2NrL5gjTA+ZHCrU9jjDGl9jNmM3nVVDI1rEZBvhSh/XNNctKS7xWUaO16yYIEcRJoJcD5Ptb8qHe9Zu/ox3chjEgYPxOeK2c47qRKdHY4Xmsm6di3jXSZqi/yOyaC7GvY2lntGahxHjy26r5Ow5WbVGsxqGbw2qeUEe2BzGfoAXPUrDv5RQoFdkBY933UqSdMDqTvUK8hToza+o5R017JcqaZjQdLS+txzoKnlkuEB9R4RHg+FMmoV7vQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mF927DEVVJva4K9EehD4jlkjgnhvf7UjYMBr8NRKw8f31ERcsog/AZBux9GIoGueuOK/fqWJ/WpiZwvEHRiKc8z3ymAq3/JwyQNeMZV0TJGerDH8zKA1h6zvCaXA8yQwfv3yX8vifKXIA0gi/Wman28Ggte1H0gTBGfSKiaHd/sSWK6qjplrR5q3NYxDjric+fpiqW6/x3T+xbJquqy/ahpGZmWEobf1iwfGHfCdNd2zGVGNZS+YdiKGGlrU0FvqfY6MYfqe1HaEbxbE2q+Ky+LOStjfuSVw9+vTmz+a5KFWKdeCjm/8rtgN3GXS69c1E3MOLhOuFKio0XY60+b5gw==
  • Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Dario Faggioli <dfaggioli@xxxxxxxx>
  • Delivery-date: Thu, 19 Oct 2023 11:31:29 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHaAn6ufpdY+57bqkWZN4b9/h1wsrBQ+nMA
  • Thread-topic: [PATCH] xen/sched: fix sched_move_domain()

Hi Juergen,

> On Oct 19, 2023, at 19:23, Juergen Gross <jgross@xxxxxxxx> wrote:
> 
> When moving a domain out of a cpupool running with the credit2
> scheduler and having multiple run-queues, the following ASSERT() can
> be observed:
> 
> (XEN) Xen call trace:
> (XEN)    [<ffff82d04023a700>] R credit2.c#csched2_unit_remove+0xe3/0xe7
> (XEN)    [<ffff82d040246adb>] S sched_move_domain+0x2f3/0x5b1
> (XEN)    [<ffff82d040234cf7>] S cpupool.c#cpupool_move_domain_locked+0x1d/0x3b
> (XEN)    [<ffff82d040236025>] S cpupool_move_domain+0x24/0x35
> (XEN)    [<ffff82d040206513>] S domain_kill+0xa5/0x116
> (XEN)    [<ffff82d040232b12>] S do_domctl+0xe5f/0x1951
> (XEN)    [<ffff82d0402276ba>] S timer.c#timer_lock+0x69/0x143
> (XEN)    [<ffff82d0402dc71b>] S pv_hypercall+0x44e/0x4a9
> (XEN)    [<ffff82d0402012b7>] S lstar_enter+0x137/0x140
> (XEN)
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 1:
> (XEN) Assertion 'svc->rqd == c2rqd(sched_unit_master(unit))' failed at 
> common/sched/credit2.c:1159
> (XEN) ****************************************
> 
> This is happening as sched_move_domain() is setting a different cpu
> for a scheduling unit without telling the scheduler. When this unit is
> removed from the scheduler, the ASSERT() will trigger.
> 
> In non-debug builds the result is usually a clobbered pointer, leading
> to another crash a short time later.
> 
> Fix that by swapping the two involved actions (setting another cpu and
> removing the unit from the scheduler).
> 
> Cc: Henry Wang <Henry.Wang@xxxxxxx>

Emmm, I think ^ this CC is better to me moved to the scissors line, otherwise
if this patch is committed, this line will be shown in the commit message...

> Fixes: 70fadc41635b ("xen/cpupool: support moving domain between cpupools 
> with different granularity")
> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
> ---
> This fixes a regression introduced in Xen 4.15. The fix is very simple
> and it will affect only configurations with multiple cpupools. I think
> whether to include it in 4.18 should be decided by the release manager
> based on the current state of the release (I think I wouldn't have
> added it that late in the release while being the release manager).

Thanks for the reminder :)

Please correct me if I am wrong, if this is fixing the regression introduced in
4.15, shouldn’t this patch being backported to 4.15, 4.16, 4.17 and soon
4.18? So honestly I think at least for 4.18 either add this patch now or
later won’t make much difference…I am ok either way I guess.

Kind regards,
Henry



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.