Skip to content

QCLINUX: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext)#708

Open
ashayj22 wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
ashayj22:my_config_sched_ext
Open

QCLINUX: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext)#708
ashayj22 wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
ashayj22:my_config_sched_ext

Conversation

@ashayj22

@ashayj22 ashayj22 commented Jun 13, 2026

Copy link
Copy Markdown

Enable the extensible scheduling class (SCX) which allows BPF-based scheduling policies. Also enable its cgroup dependencies:

  • CONFIG_SCHED_CLASS_EXT=y -- core sched_ext class
  • CONFIG_EXT_GROUP_SCHED=y -- cgroup-aware scheduling via sched_ext
  • CONFIG_EXT_SUB_SCHED=y -- cgroup subsystem integration

BTF support (DEBUG_INFO_BTF, DEBUG_INFO_BTF_MODULES) is enabled which is required by SCHED_CLASS_EXT and also needed for BPF CO-RE and kernel module BTF.

CRs-Fixed: 4570165

"qli-2.0 GA Critical Fix"

Enable the extensible scheduling class (SCX) which allows BPF-based
scheduling policies. Also enable its cgroup dependencies:

- CONFIG_SCHED_CLASS_EXT=y   -- core sched_ext class
- CONFIG_EXT_GROUP_SCHED=y   -- cgroup-aware scheduling via sched_ext
- CONFIG_EXT_SUB_SCHED=y     -- cgroup subsystem integration

BTF support (DEBUG_INFO_BTF, DEBUG_INFO_BTF_MODULES) is enabled
which is required by SCHED_CLASS_EXT and also needed for
BPF CO-RE and kernel module BTF.

Signed-off-by: Ashay Jaiswal <ashay.jaiswal@oss.qualcomm.com>
@ashayj22 ashayj22 requested review from a team, Komal-Bajaj, knaveen-qc and quic-kaushalk June 13, 2026 17:53
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@ashayj22

Copy link
Copy Markdown
Author

Topic branch PR: qualcomm-linux/kernel-topics#1360

@qlijarvis

Copy link
Copy Markdown

PR #708 — validate-patch

PR: #708

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only configuration change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit

Recommendation: Verify that CONFIG_EXT_GROUP_SCHED and CONFIG_EXT_SUB_SCHED actually exist in the target kernel tree. If they are Qualcomm-specific downstream options, the commit message should clarify this. If they don't exist, remove them and update the commit message accordingly.

Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #708 - QCLINUX: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext)
Upstream commit: N/A (vendor-only configuration change)
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream N/A Vendor-only commit with QCLINUX: prefix
Body preserves rationale Clear explanation of sched_ext enablement and dependencies
Fixes tag present/correct N/A Not a fix; new feature enablement
Authorship preserved Author: Ashay Jaiswal ashay.jaiswal@oss.qualcomm.com
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/configs/qcom.config ⚠️ Config options added but some may not exist in mainline kernel

Issues

Configuration Accuracy Concerns:

  1. Non-existent CONFIG options - The commit message and diff reference config options that do not exist in the mainline Linux kernel:

    • CONFIG_EXT_GROUP_SCHED - This option does not exist; sched_ext uses standard CONFIG_CGROUP_SCHED
    • CONFIG_EXT_SUB_SCHED - This option does not exist in sched_ext implementation
  2. Correct sched_ext options - The actual sched_ext (SCX) configuration options in mainline are:

    • CONFIG_SCHED_CLASS_EXT=y ✅ (correctly included)
    • CONFIG_DEBUG_INFO_BTF=y ✅ (correctly included, required for BPF)
    • CONFIG_DEBUG_INFO_BTF_MODULES=y ✅ (correctly included)
  3. Missing dependencies - Standard cgroup scheduling support should use:

    • CONFIG_CGROUP_SCHED=y (not CONFIG_EXT_GROUP_SCHED)
    • CONFIG_FAIR_GROUP_SCHED=y (if fair scheduling groups are needed)
  4. Commit message inaccuracy - The commit message claims these options enable "cgroup-aware scheduling via sched_ext" but the config names don't match any real kernel options.

Verdict

The patch requires correction before merge. While CONFIG_SCHED_CLASS_EXT and BTF options are correct, CONFIG_EXT_GROUP_SCHED and CONFIG_EXT_SUB_SCHED appear to be non-existent options. The author should verify these config names against the actual kernel tree being targeted, or remove them if they don't exist.

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only configuration change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit

Recommendation: Verify that CONFIG_EXT_GROUP_SCHED and CONFIG_EXT_SUB_SCHED actually exist in the target kernel tree. If they are Qualcomm-specific downstream options, the commit message should clarify this. If they don't exist, remove them and update the commit message accordingly.

@qlijarvis

Copy link
Copy Markdown

PR #708 — checker-log-analyzer

PR: #708
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/27484940085

Checker Result Summary
Checker Result Summary
checkpatch No style issues detected
dt-binding-check ⏭️ Skipped - no DT binding changes
dtb-check ⏭️ Skipped - no devicetree changes
sparse-check ⏭️ Skipped - no code changes
check-uapi-headers ⏭️ Skipped - no UAPI header changes
check-patch-compliance Subject prefix violation
tag-check N/A Not applicable for qcom-6.18.y branch
qcom-next-check N/A Not applicable for qcom-6.18.y branch

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #708 - QCLINUX: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27484940085

Checker Result Summary
checkpatch No style issues detected
dt-binding-check ⏭️ Skipped - no DT binding changes
dtb-check ⏭️ Skipped - no devicetree changes
sparse-check ⏭️ Skipped - no code changes
check-uapi-headers ⏭️ Skipped - no UAPI header changes
check-patch-compliance Subject prefix violation
tag-check N/A Not applicable for qcom-6.18.y branch
qcom-next-check N/A Not applicable for qcom-6.18.y branch

❌ check-patch-compliance

Root cause: Commit subject uses QCLINUX: prefix which is not a recognized upstream or downstream prefix for qcom-6.18.y branch.

Failure details:

2026-06-14T01:53:32.5705330Z Checking commit: QCLINUX: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext)
2026-06-14T01:53:32.5720575Z Commit summary does not start with a required prefix
2026-06-14T01:53:32.5736181Z ##[error]Process completed with exit code 1.

The commit subject is:

QCLINUX: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext)

Fix: Update the commit subject to use an accepted prefix. For qcom-6.18.y branch (non-qcom-next/qcom-next-staging), the commit should use one of these prefixes:

  1. UPSTREAM: - if this config change is already merged in mainline Linux
  2. FROMLIST: - if this config change is posted to a mailing list but not yet merged
  3. BACKPORT: - if backporting a mainline commit with modifications
  4. No prefix - if this is a Qualcomm-specific downstream-only change (though this is discouraged)

Since this appears to be enabling a mainline kernel feature (SCHED_CLASS_EXT/sched_ext) in the Qualcomm config, the appropriate prefix depends on the upstream status:

  • If sched_ext is already in mainline kernel 6.18, use: UPSTREAM: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext)
  • If sched_ext is posted but not merged, use: FROMLIST: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext)

Reproduce locally:

cd /path/to/kernel
git log -1 --format=%s e5bbb1fd6c123ff12f9119f8e9c24b58f9f446a6
# Should show: QCLINUX: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext)

# To fix, amend the commit:
git commit --amend -m "UPSTREAM: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext)

Enable the extensible scheduling class (SCX) which allows BPF-based
scheduling policies. Also enable its cgroup dependencies:

- CONFIG_SCHED_CLASS_EXT=y   -- core sched_ext class
- CONFIG_EXT_GROUP_SCHED=y   -- cgroup-aware scheduling via sched_ext
- CONFIG_EXT_SUB_SCHED=y     -- cgroup subsystem integration

BTF support (DEBUG_INFO_BTF, DEBUG_INFO_BTF_MODULES) is enabled
which is required by SCHED_CLASS_EXT and also needed for
BPF CO-RE and kernel module BTF.

Signed-off-by: Ashay Jaiswal <ashay.jaiswal@oss.qualcomm.com>"

Verdict

1 blocker to fix: Replace QCLINUX: prefix with UPSTREAM: or FROMLIST: depending on the upstream merge status of sched_ext in kernel 6.18. All other checkers passed or were correctly skipped (config-only change).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants