Skip to content

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

Open
ashayj22 wants to merge 1 commit into
qualcomm-linux:tech/all/configfrom
ashayj22:my_config
Open

QCLINUX: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext)#1360
ashayj22 wants to merge 1 commit into
qualcomm-linux:tech/all/configfrom
ashayj22:my_config

Conversation

@ashayj22

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.

@ashayj22 ashayj22 changed the title PENDING: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext) QCLINUX: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext) Jun 13, 2026
@qcomlnxci qcomlnxci requested review from a team, aiquny, ndechesne and shashim-quic and removed request for a team June 14, 2026 01:46
@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1360

PR: #1360
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/27485112057

# Error File:Line PR-introduced? Root Cause
1 Merge conflict (add/add) arch/arm64/configs/qcom.config Yes PR adds config options (SCHED_CLASS_EXT, EXT_GROUP_SCHED, EXT_SUB_SCHED, DEBUG_INFO_BTF*) that conflict with baseline changes in the same file
2 Merge conflict (content) arch/arm64/configs/defconfig No Pre-existing conflict unrelated to PR changes
3 Merge conflict (content) Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml No Pre-existing conflict unrelated to PR changes
4 Merge conflict (content) drivers/soc/qcom/ice.c No Pre-existing conflict unrelated to PR changes
5 Merge conflict (content) kernel/configs/debug.config No Pre-existing conflict unrelated to PR changes

Verdict

1 of 5 merge conflicts is directly related to this PR's changes; 4 are pre-existing conflicts in the integration branch. No compilation errors occurred — the build failed during the merge phase before compilation could begin.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1360

PR: #1360
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/27485112057

# Error File:Line PR-introduced? Root Cause
1 Merge conflict (add/add) arch/arm64/configs/qcom.config Yes PR modifies qcom.config which conflicts with concurrent changes in the integration baseline
2 Merge conflict (content) arch/arm64/configs/defconfig No Pre-existing conflict in defconfig unrelated to PR changes
3 Merge conflict (content) Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml No Pre-existing conflict in DT bindings unrelated to PR changes
4 Merge conflict (content) drivers/soc/qcom/ice.c No Pre-existing conflict in ICE driver unrelated to PR changes
5 Merge conflict (content) kernel/configs/debug.config No Pre-existing conflict in debug config unrelated to PR changes

Verdict

1 of 5 merge conflicts is directly introduced by this PR; 4 are pre-existing conflicts in the integration baseline unrelated to the PR's changes.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #1360 — validate-patch

PR: #1360

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 change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #1360 - QCLINUX: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext)
Upstream commit: N/A (vendor-only QCLINUX: patch)
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream N/A Vendor-only QCLINUX: patch
Body preserves rationale Clear explanation of sched_ext enablement and BTF dependencies
Fixes tag present/correct N/A Not a fix; new feature enablement
Authorship preserved Proper Signed-off-by with valid email
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/configs/qcom.config All 6 config options correctly placed in alphabetical order

Issues

None. The patch is well-formed for a vendor config change.

Verdict

Merge as-is. This is a clean vendor-only config patch that properly enables sched_ext with required dependencies in alphabetical order.

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 change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit

@qlijarvis

Copy link
Copy Markdown

PR #1360 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⏭️ Skipped - automerge failed
dt-binding-check ⏭️ Skipped - automerge failed
dtb-check ⏭️ Skipped - automerge failed
sparse-check ⏭️ Skipped - automerge failed
check-uapi-headers ⏭️ Skipped - automerge failed
check-patch-compliance ⏭️ Skipped - automerge failed
tag-check N/A Not applicable (QCLINUX prefix used)
qcom-next-check N/A Not applicable (QCLINUX prefix used)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

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

Checker Result Summary
checkpatch ⏭️ Skipped - automerge failed
dt-binding-check ⏭️ Skipped - automerge failed
dtb-check ⏭️ Skipped - automerge failed
sparse-check ⏭️ Skipped - automerge failed
check-uapi-headers ⏭️ Skipped - automerge failed
check-patch-compliance ⏭️ Skipped - automerge failed
tag-check N/A Not applicable (QCLINUX prefix used)
qcom-next-check N/A Not applicable (QCLINUX prefix used)

❌ Automerge Conflict (All Checkers)

Root cause: Merge conflict in arch/arm64/configs/qcom.config when integrating topic branch topic/tech/all/config into baseline f74a35752ee9fde35f8980d2635660334bff6446.

Failure details:

Auto-merging arch/arm64/configs/qcom.config
CONFLICT (add/add): Merge conflict in arch/arm64/configs/qcom.config
Auto-merging arch/arm64/configs/defconfig
CONFLICT (content): Merge conflict in arch/arm64/configs/defconfig
Auto-merging drivers/soc/qcom/ice.c
CONFLICT (content): Merge conflict in drivers/soc/qcom/ice.c
Auto-merging kernel/configs/debug.config
CONFLICT (content): Merge conflict in kernel/configs/debug.config
Auto-merging Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml
Automatic merge failed; fix conflicts and then commit the result.
automerge returned non-zero; check logs for conflicts

Fix:

This is an integration conflict, not a patch defect. The PR modifies arch/arm64/configs/qcom.config, which conflicts with changes already present in the topic/tech/all/config branch.

Resolution options:

  1. Rebase the PR on the latest integration baseline to resolve conflicts locally before re-submitting
  2. Coordinate with the owner of topic/tech/all/config to ensure config changes are compatible
  3. Wait for the conflicting topic branch to be merged first, then rebase this PR

Reproduce locally:

# Clone the kernel-topics repo
git clone https://github.com/qualcomm-linux/kernel-topics.git
cd kernel-topics

# Fetch the PR branch
git fetch origin pull/1360/head:pr-1360
git checkout pr-1360

# Attempt to merge with topic/tech/all/config
git fetch origin topic/tech/all/config
git merge origin/topic/tech/all/config

# Resolve conflicts in arch/arm64/configs/qcom.config and other files
# Then test the merge result

Verdict

Integration blocker: This PR cannot be tested by CI until merge conflicts with topic/tech/all/config are resolved. The patch itself has not been validated yet. Author should rebase on the latest integration baseline or coordinate with the conflicting topic branch owner.

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

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>
@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1360

PR: #1360
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/27526174106

# Error File:Line PR-introduced? Root Cause
1 Merge conflict (add/add) arch/arm64/configs/qcom.config Yes PR modifies qcom.config which has conflicting changes in the baseline integration branch
2 Merge conflict (content) arch/arm64/configs/defconfig No Pre-existing conflict in baseline integration, unrelated to PR changes
3 Merge conflict (content) Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml No Pre-existing conflict in baseline integration, unrelated to PR changes
4 Merge conflict (content) drivers/soc/qcom/ice.c No Pre-existing conflict in baseline integration, unrelated to PR changes
5 Merge conflict (content) kernel/configs/debug.config No Pre-existing conflict in baseline integration, unrelated to PR changes

Verdict

1 of 5 merge conflicts is directly related to this PR's changes; 4 are pre-existing integration conflicts unrelated to the PR.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1360

PR: #1360
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/27526174106

# Error File:Line PR-introduced? Root Cause
1 Merge conflict (add/add) arch/arm64/configs/qcom.config Yes PR adds config options that conflict with concurrent changes in the integration baseline
2 Merge conflict (content) arch/arm64/configs/defconfig No Pre-existing conflict in defconfig unrelated to PR changes
3 Merge conflict (content) Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml No Pre-existing conflict in devicetree bindings unrelated to PR changes
4 Merge conflict (content) drivers/soc/qcom/ice.c No Pre-existing conflict in ICE driver unrelated to PR changes
5 Merge conflict (content) kernel/configs/debug.config No Pre-existing conflict in debug config unrelated to PR changes

Verdict

1 of 5 merge conflicts is directly related to this PR's changes to arch/arm64/configs/qcom.config; 4 are pre-existing integration conflicts unrelated to the PR.

Note: This is not a compilation failure. The build failed during the integration/merge phase before any kernel compilation occurred. The CI workflow attempts to merge the PR branch (topic/tech/all/config) with a baseline integration branch, and this merge encountered conflicts.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #1360 — validate-patch

PR: #1360

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 change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #1360 - QCLINUX: arm64: configs: qcom: Enable SCHED_CLASS_EXT (sched_ext)
Upstream commit: N/A (vendor-only commit)
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream N/A Vendor-only commit (QCLINUX: prefix)
Body preserves rationale Clear explanation of sched_ext and BTF enablement
Fixes tag present/correct N/A New feature enablement, no bug fix
Authorship preserved Proper Signed-off-by: Ashay Jaiswal
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/configs/qcom.config Clean config additions: SCHED_CLASS_EXT + BTF support, properly ordered

Verdict

Merge as-is — vendor configuration change is well-formed, clearly documented, and adds sched_ext scheduling class support with required BTF dependencies.

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 change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit

@qlijarvis

Copy link
Copy Markdown

PR #1360 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Integration merge conflict
dt-binding-check Integration merge conflict
dtb-check Integration merge conflict
sparse-check Integration merge conflict
check-uapi-headers Integration merge conflict
check-patch-compliance Integration merge conflict
tag-check N/A Not applicable for config changes
qcom-next-check ⏭️ QCLINUX prefix used (internal change)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

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

Checker Result Summary
checkpatch Integration merge conflict
dt-binding-check Integration merge conflict
dtb-check Integration merge conflict
sparse-check Integration merge conflict
check-uapi-headers Integration merge conflict
check-patch-compliance Integration merge conflict
tag-check N/A Not applicable for config changes
qcom-next-check ⏭️ QCLINUX prefix used (internal change)

❌ All Checkers Failed: Integration Merge Conflict

Root cause: The PR modifies arch/arm64/configs/qcom.config, which has conflicting changes in the integration baseline branch topic/tech/all/config.

Failure details:

CONFLICT (add/add): Merge conflict in arch/arm64/configs/qcom.config
CONFLICT (content): Merge conflict in arch/arm64/configs/defconfig
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml
CONFLICT (content): Merge conflict in drivers/soc/qcom/ice.c
CONFLICT (content): Merge conflict in kernel/configs/debug.config
Automatic merge failed; fix conflicts and then commit the result.

The checker workflow attempts to merge the PR commit into an integration branch that includes topic/tech/all/config. This topic branch contains overlapping changes to qcom.config, causing a merge conflict. All checker jobs failed at the integration merge step before they could run their actual validation checks.

Analysis of the patch:
The PR adds three config options to arch/arm64/configs/qcom.config:

  • CONFIG_DEBUG_INFO_BTF=y — BTF debug info for BPF CO-RE
  • CONFIG_DEBUG_INFO_BTF_MODULES=y — BTF for kernel modules
  • CONFIG_SCHED_CLASS_EXT=y — Extensible scheduling class (sched_ext)

The patch itself is well-formed:

  • ✅ Proper commit message with QCLINUX prefix
  • ✅ Clear description of what's being enabled and why
  • ✅ Signed-off-by present
  • ✅ Config options are sorted alphabetically in the file
  • ✅ Includes comment line for MODULE_ALLOW_BTF_MISMATCH

Root issue: The conflict is in the integration environment, not in the patch itself. The topic/tech/all/config branch likely has concurrent changes to the same config file that haven't been synchronized with this PR's base branch.


Fix Options

Option 1: Rebase on latest integration baseline (Recommended)

  1. Fetch the latest topic/tech/all/config branch
  2. Rebase this PR on top of it
  3. Resolve any conflicts manually
  4. Force-push the rebased branch
git fetch origin topic/tech/all/config
git rebase origin/topic/tech/all/config
# Resolve conflicts in arch/arm64/configs/qcom.config
git add arch/arm64/configs/qcom.config
git rebase --continue
git push --force-with-lease

Option 2: Wait for integration branch to stabilize
If topic/tech/all/config is actively being updated, coordinate with the maintainer to:

  1. Let their changes merge first
  2. Rebase this PR afterward
  3. Re-run checkers

Option 3: Manual conflict resolution preview
The conflict is likely due to overlapping additions in the same alphabetical region of qcom.config. When resolving:

  • Keep both sets of config changes
  • Maintain alphabetical order
  • Ensure no duplicate entries
  • Preserve comment lines (like # CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set)

Reproduce Locally

To reproduce the integration conflict:

# Clone the kernel-config repo
git clone https://github.com/qualcomm-linux/kernel-config.git
cd kernel-config

# Fetch the PR branch and integration baseline
git fetch origin pull/1360/head:pr-1360
git fetch origin topic/tech/all/config

# Attempt the same merge the CI does
git checkout pr-1360
git merge origin/topic/tech/all/config

# You should see the same conflicts
git status

To validate the patch in isolation (without integration):

# Check the patch itself
git show 97be4cb05bd4bd6e902fa8978835282701d9da15 | scripts/checkpatch.pl --no-tree -

Verdict

The patch itself is correct and well-formed. All checker failures are due to an integration merge conflict in the CI environment, not issues with the code changes.

Action required: Rebase the PR on the latest topic/tech/all/config branch and resolve the merge conflict in arch/arm64/configs/qcom.config. Once rebased, all checkers should pass (assuming no other issues in the integration baseline).

Blocker: 1 integration conflict to resolve before merge.

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.

2 participants