From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 08B972E406 for ; Tue, 21 Jan 2025 19:18:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737487124; cv=none; b=VgZ60Te16macMPiQcokO5xR0Ecbjkuxm+YM46yonGO2/ygePCNIsHi/ue0Ep3Y91ydoO99ZBItruvQWhIz4JX/KyKhce98yKDTnBQw271Te2isSYQa9QXbdlS9C8kh92fYugm//WHQFPyUnKpOZTKRdf0KjXIfoyi6FewfjAgsM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737487124; c=relaxed/simple; bh=PxSm20eaWeBRbYQpEGrD9nl7eP/A5lUi1+b9W4ByYmE=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=Hota/V99cnOQSuv+DPzOhkMp3be2+h79p3kHG9k3ZeyySYWm4363WvJ+B6v5dH8y0G/BJp8eHFn3eJjB0V03NDZW61VQjzGdaLBb8/Iy8f289ADgEv6tEEPE2F9AArpydLlcRNlKPenGFTL/C/idfOTm34nnnV2cwHMlliZEZiQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gyXiAneV; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="gyXiAneV" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 58CC6C4CEDF; Tue, 21 Jan 2025 19:18:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737487123; bh=PxSm20eaWeBRbYQpEGrD9nl7eP/A5lUi1+b9W4ByYmE=; h=Date:From:To:Cc:Subject:From; b=gyXiAneVPPMztFe+eh/Mg0h4yZVksKc6ckXBkBABYIIH045+Q6ABE+zm7twc0I7Px XFBRTbyq9QezB6nY/+GxebAQfMh6LSqGGMtw7aKoURLJo4g7RE1XVJ9x+pA0jy6dlI veY0IDNcxDIt5zj4zEV+6C1nBFtXAu2kaP/PD0ZmPyUgEMSn6bmLV77ZfaVxgvRNkC J4YkwMhEOm+SQspMlhqKZAGoru3+g7KOSi0laESZ2CQx2p2sJbl8gSddbE74IoVGZi r43rmDm23szY2IaTfLPsNfI01ncBAtTb7Yc6txmIDVyG1Avm53BKvBq4L8Ra4+McGm ss6xVAodN6eNg== Date: Tue, 21 Jan 2025 09:18:42 -1000 From: Tejun Heo To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, David Vernet , Andrea Righi , Changwoo Min Subject: [GIT PULL] sched_ext: Changes for v6.14 Message-ID: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline The following changes since commit f24d192985cbd6782850fdbb3839039da2f0ee76: sched_ext: fix application of sizeof to pointer (2024-12-04 09:47:39 -1000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git/ tags/sched_ext-for-6.14 for you to fetch changes up to 987ce79b5242c048acae3a0c1feaae0a353d5cde: sched_ext: fix kernel-doc warnings (2025-01-13 08:23:29 -1000) ---------------------------------------------------------------- sched_ext: Changes for v6.14 - scx_bpf_now() added so that BPF scheduler can access the cached timestamp in struct rq to avoid reading TSC multiple times within a locked scheduling operation. - Minor updates to the built-in idle CPU selection logic. - tool/sched_ext updates and other misc changes. Pulling sched_ext/for-6.14 into master causes a merge conflict between the following two commits (first commit in master, second in for-6.14): a2a3374c47c4 sched_ext: idle: Refresh idle masks during idle-to-idle transitions 9cf9aceed21e sched_ext: idle: use assign_cpu() to update the idle cpumask static void update_builtin_idle(int cpu, bool idle) { <<<<<<< HEAD if (idle) cpumask_set_cpu(cpu, idle_masks.cpu); else cpumask_clear_cpu(cpu, idle_masks.cpu); ======= int cpu = cpu_of(rq); if (SCX_HAS_OP(update_idle) && !scx_rq_bypassing(rq)) { SCX_CALL_OP(SCX_KF_REST, update_idle, cpu_of(rq), idle); if (!static_branch_unlikely(&scx_builtin_idle_enabled)) return; } assign_cpu(cpu, idle_masks.cpu, idle); >>>>>>> 987ce79b5242c048acae3a0c1feaae0a353d5cde The first commit factored out update_builtin_idle() and the second replaced cpumask_set/clear_cpu() calls with assign_cpu(). The conflict can be resolved by taking the code from the first and then replacing the cpumask_set/clear_cpu() calls with assign_cpu(): static void update_builtin_idle(int cpu, bool idle) { assign_cpu(cpu, idle_masks.cpu, idle); ---------------------------------------------------------------- Andrea Righi (7): sched_ext: Use the NUMA scheduling domain for NUMA optimizations sched_ext: idle: use assign_cpu() to update the idle cpumask sched_ext: idle: clarify comments sched_ext: idle: introduce check_builtin_idle_enabled() helper sched_ext: idle: small CPU iteration refactoring sched_ext: update scx_bpf_dsq_insert() doc for SCX_DSQ_LOCAL_ON sched_ext: Include remaining task time slice in error state dump Changwoo Min (6): sched_ext: Relocate scx_enabled() related code sched_ext: Implement scx_bpf_now() sched_ext: Add scx_bpf_now() for BPF scheduler sched_ext: Add time helpers for BPF schedulers sched_ext: Replace bpf_ktime_get_ns() to scx_bpf_now() sched_ext: Use time helpers in BPF schedulers Liang Jie (1): sched_ext: Use sizeof_field for key_len in dsq_hash_params Randy Dunlap (1): sched_ext: fix kernel-doc warnings Shizhao Chen (1): sched_ext: Add option -l in selftest runner to list all available tests Tejun Heo (1): tools/sched_ext: Receive updates from SCX repo Thorsten Blum (1): sched_ext: Use str_enabled_disabled() helper in update_selcpu_topology() Documentation/scheduler/sched-ext.rst | 6 +- kernel/sched/core.c | 6 +- kernel/sched/ext.c | 335 ++++++++++++++++-------- kernel/sched/sched.h | 51 ++-- tools/sched_ext/include/scx/common.bpf.h | 178 ++++++++++++- tools/sched_ext/include/scx/common.h | 6 + tools/sched_ext/include/scx/compat.bpf.h | 5 + tools/sched_ext/include/scx/compat.h | 1 + tools/sched_ext/include/scx/enums.autogen.bpf.h | 105 ++++++++ tools/sched_ext/include/scx/enums.autogen.h | 41 +++ tools/sched_ext/include/scx/enums.bpf.h | 12 + tools/sched_ext/include/scx/enums.h | 27 ++ tools/sched_ext/include/scx/user_exit_info.h | 9 +- tools/sched_ext/scx_central.bpf.c | 13 +- tools/sched_ext/scx_central.c | 1 + tools/sched_ext/scx_flatcg.bpf.c | 25 +- tools/sched_ext/scx_flatcg.c | 1 + tools/sched_ext/scx_qmap.bpf.c | 2 +- tools/sched_ext/scx_qmap.c | 2 + tools/sched_ext/scx_simple.bpf.c | 9 +- tools/testing/selftests/sched_ext/runner.c | 15 +- 21 files changed, 690 insertions(+), 160 deletions(-) create mode 100644 tools/sched_ext/include/scx/enums.autogen.bpf.h create mode 100644 tools/sched_ext/include/scx/enums.autogen.h create mode 100644 tools/sched_ext/include/scx/enums.bpf.h create mode 100644 tools/sched_ext/include/scx/enums.h -- tejun