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

Re: [PATCH] xen: make some per-scheduler performance counters sched global ones


  • To: Juergen Gross <jgross@xxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Thu, 16 Dec 2021 09:44:31 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.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=sDUb8ehC0Gnq0bpbJxJyV3kjbUYoINg1gHPuM/ErDoU=; b=eb0DSvlghldXTx0HkL+jPBn64C6YV3mYkujsDFQX403CshTQcYFI9sW7EslmszPYR9iZquoZRbgHnafB7CX9eXONDwHq30lfF4SK0lBI4jkUrF0z0DlA+JeWYgLXwe2v9sgwjwSZ7iaQhEu/H/KIsOScqzp1VTpL9GcC1VVLia7DiUv0ON/1tjI1DemTm0w9kLsVAjMLK1JLQnk0M4ESjhjEBEAwwOb/fAFFPtw6pZ9ZSjRiNgYK6oypnP8I8zYBE0BdS3zDxOrFcmWijy8vBZuZEjghqwjGY0soDFuzu508g7/Ul0dB/VPbtwIQxGY0gdKSTC1mrxNOr6VjuS65ag==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GEpdXKP1nOJOsC98+sGtmlZ7lYdEiChgypPoQkppTMGHSVeTv1ckzTCXgo4mpRosFGOdKDLUaKW1k8KsQ7XCSsAUFfFkJKENbacFd416rcvAolrfTfFClSgg5WymccfIQIp3i0HzlWMEbv2PI2mAXIpZL4KBd4iZ4Rh/G/zaIiHpnRJu8joW3f0wmx9d9ZVCuYk1HJLDrAUlo94YYm6usORPH33kxITFgrsW1VCXHO/GMNVGzrNN/5VB298ee1Kh9ZRvaTXdYZfnmNFyfJx5vB7Op3uQSFhlprOwbx2BkgMSdpS/PENlA7EkgY4JxOiTodMJozq5S+SIFlJNTdPJuQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Thu, 16 Dec 2021 08:44:55 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 16.12.2021 06:45, Juergen Gross wrote:
> Some performance counters listed to be credit or credit2 specific are
> being used by the null scheduler, too.
> 
> Make those sched global ones.
> 
> Fixes: ab6ba8c6753fa76 ("perfc: conditionalize credit/credit2 counters")
> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>

As an immediate fix
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

Thanks for doing this so quickly.

However, ...

> @@ -55,7 +58,6 @@ PERFCOUNTER(steal_trylock,          "csched: steal_trylock")
>  PERFCOUNTER(steal_trylock_failed,   "csched: steal_trylock_failed")
>  PERFCOUNTER(steal_peer_idle,        "csched: steal_peer_idle")
>  PERFCOUNTER(migrate_queued,         "csched: migrate_queued")
> -PERFCOUNTER(migrate_running,        "csched: migrate_running")
>  PERFCOUNTER(migrate_kicked_away,    "csched: migrate_kicked_away")
>  PERFCOUNTER(unit_hot,               "csched: unit_hot")
>  #endif
> @@ -67,13 +69,11 @@ PERFCOUNTER(acct_load_balance,      "csched2: 
> acct_load_balance")
>  PERFCOUNTER(upd_max_weight_quick,   "csched2: update_max_weight_quick")
>  PERFCOUNTER(upd_max_weight_full,    "csched2: update_max_weight_full")
>  PERFCOUNTER(migrate_requested,      "csched2: migrate_requested")
> -PERFCOUNTER(migrate_on_runq,        "csched2: migrate_on_runq")
>  PERFCOUNTER(migrate_no_runq,        "csched2: migrate_no_runq")
>  PERFCOUNTER(runtime_min_timer,      "csched2: runtime_min_timer")
>  PERFCOUNTER(runtime_max_timer,      "csched2: runtime_max_timer")
>  PERFCOUNTER(pick_resource,          "csched2: pick_resource")
>  PERFCOUNTER(need_fallback_cpu,      "csched2: need_fallback_cpu")
> -PERFCOUNTER(migrated,               "csched2: migrated")

... at least for this one I question the use in the null scheduler:
At the very least I'd expect it shouldn't count what's being counted
by the other two already (i.e. there would be an "else" missing).
But then I'm confused by the the use of these three anyway: Why do
things migrate under null in the first place? This looks to be
contrary to the comment at the top of the file:

 * The 'null' scheduler always choose to run, on each pCPU, either nothing
 * (i.e., the pCPU stays idle) or always the same unit.

Jan




 


Rackspace

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