[PATCH 00/19] kthread: Introduce preferred affinity v6

Frederic Weisbecker posted 19 patches 1 year ago
Documentation/arch/arm64/asymmetric-32bit.rst |   9 +
arch/arm/common/bL_switcher.c                 |  10 +-
arch/arm64/include/asm/cpufeature.h           |   1 +
arch/arm64/include/asm/mmu_context.h          |   2 +
arch/arm64/kernel/cpufeature.c                |  17 +-
arch/x86/kvm/i8254.c                          |   2 +-
crypto/crypto_engine.c                        |   2 +-
drivers/cpufreq/cppc_cpufreq.c                |   2 +-
drivers/firmware/stratix10-svc.c              |   9 +-
drivers/gpu/drm/drm_vblank_work.c             |   2 +-
.../drm/i915/gem/selftests/i915_gem_context.c |   2 +-
drivers/gpu/drm/i915/gt/selftest_execlists.c  |   2 +-
drivers/gpu/drm/i915/gt/selftest_hangcheck.c  |   2 +-
drivers/gpu/drm/i915/gt/selftest_slpc.c       |   2 +-
drivers/gpu/drm/i915/selftests/i915_request.c |   8 +-
drivers/gpu/drm/msm/disp/msm_disp_snapshot.c  |   2 +-
drivers/gpu/drm/msm/msm_atomic.c              |   2 +-
drivers/gpu/drm/msm/msm_gpu.c                 |   2 +-
drivers/gpu/drm/msm/msm_kms.c                 |   2 +-
.../platform/chips-media/wave5/wave5-vpu.c    |   2 +-
drivers/net/dsa/mv88e6xxx/chip.c              |   2 +-
drivers/net/ethernet/intel/ice/ice_dpll.c     |   2 +-
drivers/net/ethernet/intel/ice/ice_gnss.c     |   2 +-
drivers/net/ethernet/intel/ice/ice_ptp.c      |   2 +-
drivers/platform/chrome/cros_ec_spi.c         |   2 +-
drivers/ptp/ptp_clock.c                       |   2 +-
drivers/scsi/bnx2fc/bnx2fc_fcoe.c             |   7 +-
drivers/scsi/bnx2i/bnx2i_init.c               |   7 +-
drivers/scsi/qedi/qedi_main.c                 |   6 +-
drivers/soc/fsl/qbman/qman_test_stash.c       |   6 +-
drivers/spi/spi.c                             |   2 +-
drivers/usb/typec/tcpm/tcpm.c                 |   2 +-
drivers/vdpa/vdpa_sim/vdpa_sim.c              |   2 +-
drivers/watchdog/watchdog_dev.c               |   2 +-
fs/erofs/zdata.c                              |   2 +-
include/linux/cpuhotplug.h                    |   1 +
include/linux/kthread.h                       |  56 ++++-
include/linux/mmu_context.h                   |   1 +
kernel/kallsyms_selftest.c                    |   4 +-
kernel/kthread.c                              | 201 ++++++++++++++++--
kernel/rcu/tree.c                             |  94 ++------
kernel/rcu/tree_plugin.h                      |  11 +-
kernel/sched/core.c                           |   2 +-
kernel/sched/ext.c                            |   2 +-
kernel/workqueue.c                            |   2 +-
lib/test_objpool.c                            |  19 +-
mm/compaction.c                               |  43 +---
mm/vmscan.c                                   |   8 +-
net/dsa/tag_ksz.c                             |   2 +-
net/dsa/tag_ocelot_8021q.c                    |   2 +-
net/dsa/tag_sja1105.c                         |   2 +-
51 files changed, 343 insertions(+), 237 deletions(-)
[PATCH 00/19] kthread: Introduce preferred affinity v6
Posted by Frederic Weisbecker 1 year ago
Hi,

For reference, see the summary on previous version:

https://lore.kernel.org/lkml/20241112142248.20503-3-frederic@kernel.org/T/

I don't know if anybody is willing to take this patchset. To make sure
it's not getting lost, I'm setting a branch for linux-next. If the set
happens not to be applied by anyone before the next merge window, and
if no concern arises, I'll do the pull request to Linus myself.

Changes since v5:

- Dropped two standalone patches applied to relevant maintainer's tree

- Handle the arm64 mismatched 32bit el0 support case differently as per
  Will's suggestion: nohz_full CPUs are simply treated as 64bit support
  only.

Frederic Weisbecker (19):
  arm/bL_switcher: Use kthread_run_on_cpu()
  firmware: stratix10-svc: Use kthread_run_on_cpu()
  scsi: bnx2fc: Use kthread_create_on_cpu()
  scsi: bnx2i: Use kthread_create_on_cpu()
  scsi: qedi: Use kthread_create_on_cpu()
  soc/qman: test: Use kthread_run_on_cpu()
  kallsyms: Use kthread_run_on_cpu()
  lib: test_objpool: Use kthread_run_on_cpu()
  arm64: Exclude nohz_full CPUs from 32bits el0 support
  sched,arm64: Handle CPU isolation on last resort fallback rq selection
  kthread: Make sure kthread hasn't started while binding it
  kthread: Default affine kthread to its preferred NUMA node
  mm: Create/affine kcompactd to its preferred node
  mm: Create/affine kswapd to its preferred node
  kthread: Implement preferred affinity
  rcu: Use kthread preferred affinity for RCU boost
  kthread: Unify kthread_create_on_cpu() and
    kthread_create_worker_on_cpu() automatic format
  treewide: Introduce kthread_run_worker[_on_cpu]()
  rcu: Use kthread preferred affinity for RCU exp kworkers

 Documentation/arch/arm64/asymmetric-32bit.rst |   9 +
 arch/arm/common/bL_switcher.c                 |  10 +-
 arch/arm64/include/asm/cpufeature.h           |   1 +
 arch/arm64/include/asm/mmu_context.h          |   2 +
 arch/arm64/kernel/cpufeature.c                |  17 +-
 arch/x86/kvm/i8254.c                          |   2 +-
 crypto/crypto_engine.c                        |   2 +-
 drivers/cpufreq/cppc_cpufreq.c                |   2 +-
 drivers/firmware/stratix10-svc.c              |   9 +-
 drivers/gpu/drm/drm_vblank_work.c             |   2 +-
 .../drm/i915/gem/selftests/i915_gem_context.c |   2 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c  |   2 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c  |   2 +-
 drivers/gpu/drm/i915/gt/selftest_slpc.c       |   2 +-
 drivers/gpu/drm/i915/selftests/i915_request.c |   8 +-
 drivers/gpu/drm/msm/disp/msm_disp_snapshot.c  |   2 +-
 drivers/gpu/drm/msm/msm_atomic.c              |   2 +-
 drivers/gpu/drm/msm/msm_gpu.c                 |   2 +-
 drivers/gpu/drm/msm/msm_kms.c                 |   2 +-
 .../platform/chips-media/wave5/wave5-vpu.c    |   2 +-
 drivers/net/dsa/mv88e6xxx/chip.c              |   2 +-
 drivers/net/ethernet/intel/ice/ice_dpll.c     |   2 +-
 drivers/net/ethernet/intel/ice/ice_gnss.c     |   2 +-
 drivers/net/ethernet/intel/ice/ice_ptp.c      |   2 +-
 drivers/platform/chrome/cros_ec_spi.c         |   2 +-
 drivers/ptp/ptp_clock.c                       |   2 +-
 drivers/scsi/bnx2fc/bnx2fc_fcoe.c             |   7 +-
 drivers/scsi/bnx2i/bnx2i_init.c               |   7 +-
 drivers/scsi/qedi/qedi_main.c                 |   6 +-
 drivers/soc/fsl/qbman/qman_test_stash.c       |   6 +-
 drivers/spi/spi.c                             |   2 +-
 drivers/usb/typec/tcpm/tcpm.c                 |   2 +-
 drivers/vdpa/vdpa_sim/vdpa_sim.c              |   2 +-
 drivers/watchdog/watchdog_dev.c               |   2 +-
 fs/erofs/zdata.c                              |   2 +-
 include/linux/cpuhotplug.h                    |   1 +
 include/linux/kthread.h                       |  56 ++++-
 include/linux/mmu_context.h                   |   1 +
 kernel/kallsyms_selftest.c                    |   4 +-
 kernel/kthread.c                              | 201 ++++++++++++++++--
 kernel/rcu/tree.c                             |  94 ++------
 kernel/rcu/tree_plugin.h                      |  11 +-
 kernel/sched/core.c                           |   2 +-
 kernel/sched/ext.c                            |   2 +-
 kernel/workqueue.c                            |   2 +-
 lib/test_objpool.c                            |  19 +-
 mm/compaction.c                               |  43 +---
 mm/vmscan.c                                   |   8 +-
 net/dsa/tag_ksz.c                             |   2 +-
 net/dsa/tag_ocelot_8021q.c                    |   2 +-
 net/dsa/tag_sja1105.c                         |   2 +-
 51 files changed, 343 insertions(+), 237 deletions(-)

-- 
2.46.0
Re: (subset) [PATCH 00/19] kthread: Introduce preferred affinity v6
Posted by Martin K. Petersen 11 months, 1 week ago
On Wed, 11 Dec 2024 16:40:13 +0100, Frederic Weisbecker wrote:

> For reference, see the summary on previous version:
> 
> https://lore.kernel.org/lkml/20241112142248.20503-3-frederic@kernel.org/T/
> 
> I don't know if anybody is willing to take this patchset. To make sure
> it's not getting lost, I'm setting a branch for linux-next. If the set
> happens not to be applied by anyone before the next merge window, and
> if no concern arises, I'll do the pull request to Linus myself.
> 
> [...]

Applied to 6.14/scsi-queue, thanks!

[03/19] scsi: bnx2fc: Use kthread_create_on_cpu()
        https://git.kernel.org/mkp/scsi/c/0d19b96cf159
[04/19] scsi: bnx2i: Use kthread_create_on_cpu()
        https://git.kernel.org/mkp/scsi/c/f33f1a88cf0f
[05/19] scsi: qedi: Use kthread_create_on_cpu()
        https://git.kernel.org/mkp/scsi/c/faaf18d3f353

-- 
Martin K. Petersen	Oracle Linux Engineering