All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH 1/5] scheduler: Create SDTL_SKIP flag to skip topology level
@ 2021-12-05  4:15 ` kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-12-05  4:15 UTC (permalink / raw)
  Cc: kbuild-all, llvm

In-Reply-To: <d6fe1f8972520f64c7e23d7e72fa298823813c6d.1638563225.git.tim.c.chen@linux.intel.com>
References: <d6fe1f8972520f64c7e23d7e72fa298823813c6d.1638563225.git.tim.c.chen@linux.intel.com>
TO: Tim Chen <tim.c.chen@linux.intel.com>
TO: Peter Zijlstra <peterz@infradead.org>
CC: Tim Chen <tim.c.chen@linux.intel.com>
CC: Arjan Van De Ven <arjan.van.de.ven@intel.com>
CC: Ricardo Neri <ricardo.neri@intel.com>
CC: Len Brown <len.brown@intel.com>
CC: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
CC: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
CC: Chen Yu <yu.c.chen@intel.com>
CC: Song Bao Hua <song.bao.hua@hisilicon.com>
CC: yangyicong <yangyicong@huawei.com>

Hi Tim,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on tip/sched/core]
[also build test WARNING on tip/x86/core driver-core/driver-core-testing linus/master v5.16-rc3 next-20211203]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Tim-Chen/Make-Cluster-Scheduling-Configurable/20211204-053244
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 8c92606ab81086db00cbb73347d124b4eb169b7e
config: x86_64-randconfig-a001-20211204 (https://download.01.org/0day-ci/archive/20211205/202112051257.nBNEtaW2-lkp@intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 5f1d1854eb1450d352663ee732235893c5782237)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/658a2785384667df007d97134a2e559933b45931
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Tim-Chen/Make-Cluster-Scheduling-Configurable/20211204-053244
        git checkout 658a2785384667df007d97134a2e559933b45931
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash kernel/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   kernel/sched/topology.c:23:20: warning: unused function 'sched_debug' [-Wunused-function]
   static inline bool sched_debug(void)
                      ^
   1 warning generated.
>> kernel/sched/topology.o: warning: objtool: build_sched_domains()+0x3d9c: unreachable instruction

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] 3+ messages in thread
* [PATCH 0/5] Make Cluster Scheduling Configurable
@ 2021-12-03 20:32 Tim Chen
  2021-12-03 20:32 ` [PATCH 1/5] scheduler: Create SDTL_SKIP flag to skip topology level Tim Chen
  0 siblings, 1 reply; 3+ messages in thread
From: Tim Chen @ 2021-12-03 20:32 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Tim Chen, Arjan Van De Ven, Ricardo Neri, Len Brown,
	Srinivas Pandruvada, Artem Bityutskiy, Chen Yu, Song Bao Hua,
	yangyicong, Michael Larabel, linux-kernel

Cluster scheduling domain was introduced in 5.16 to help even out load
between the clusters. In a last level cache, there can be multiple 
clusters, with each cluster having its own resources and multiple CPUs
in it. With cluster scheduling, contention on cluster resource (e.g. L2
cache) can be reduced for better performance.

These patches made cluster scheduling configurable at run time and
boot time.  When system is moderately loaded, it is worthwhile to do the
extra load balancing to balance out load between the clusters to reduce
contention on cluster resources (e.g. L2 cache).  If the system is
fully utilized, load balancing among cluster is unlikely going to help
to reduce contention of resources a cluster as the cluster
is fully busy.

On a Jacobsville system with 24 Atom cores, where 4 Atom core per cluster
share an L2, we ran the mcf benchmark from very low load of 1 benchmark
copy to 24 benchmark copies on the 24 CPUs system.  We see that
throughput is boosted for medium load but there is little improvement
from cluster scheduling when the system is fully loaded.

     Improvement over baseline kernel for mcf_r
     copies         run time        base rate
     1              -0.1%           -0.2%
     6              25.1%           25.1%
     12             18.8%           19.0%
     24             0.3%            0.3%

If the system is expected to operate close to full utilization, the sys
admin could choose to turn off the cluster feature to reduce scheduler
overhead from load balancing at the cluster level.

Cluster scheduling is disabled by default for x86 hybrid CPUs in the
last patch of this series. For such asymmetric system, the system
should rely strictly on CPU priority to determine the order
of task scheduling.

Tim Chen (5):
  scheduler: Create SDTL_SKIP flag to skip topology level
  scheduler: Add SD_CLUSTER topology flag to cluster sched domain
  scheduler: Add runtime knob sysctl_sched_cluster
  scheduler: Add boot time enabling/disabling of cluster scheduling
  scheduler: Default cluster scheduling to off on x86 hybrid CPU

 .../admin-guide/kernel-parameters.txt         |  4 +
 arch/x86/kernel/smpboot.c                     | 26 +++++++
 drivers/base/arch_topology.c                  | 23 +++++-
 include/linux/sched/sd_flags.h                |  7 ++
 include/linux/sched/sysctl.h                  |  6 ++
 include/linux/sched/topology.h                |  3 +-
 include/linux/topology.h                      |  7 ++
 kernel/sched/core.c                           |  1 +
 kernel/sched/sched.h                          |  6 ++
 kernel/sched/topology.c                       | 75 ++++++++++++++++++-
 kernel/sysctl.c                               | 11 +++
 11 files changed, 163 insertions(+), 6 deletions(-)

-- 
2.20.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-12-05  4:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-05  4:15 [PATCH 1/5] scheduler: Create SDTL_SKIP flag to skip topology level kernel test robot
2021-12-05  4:15 ` kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2021-12-03 20:32 [PATCH 0/5] Make Cluster Scheduling Configurable Tim Chen
2021-12-03 20:32 ` [PATCH 1/5] scheduler: Create SDTL_SKIP flag to skip topology level Tim Chen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.