CONFIG_PREEMPT_VOLUNTARY in bcm2711 32-bit, but CONFIG_PREEMPT for 64-bit

Open
#4,099 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
c, linux

Research direction

Start by comparing the 32-bit and 64-bit bcm2711 defconfig settings, focusing on CONFIG_PREEMPT_VOLUNTARY versus CONFIG_PREEMPT. Investigate why the configurations differ and whether the scheduling behavior or the out-of-tree driver context explains the panic. Done means the difference has a documented rationale or the configurations are aligned with suitable validation.

Written by the indexing model from the issue text.

Description

I am surprised to notice that the PREEMPT option for 32-bit bcm2711 (pi4) build vs 64-bit build is different, one is VOLUNTARY the other is plain PREEMPT (ie full). I assumed that the latter is the variant since raspberry pi can run in 64-bit mode only in the last couple of years with pi3/pi4, until I Google'd and found #1216 .

Anyway, I am wondering if they should differ as little as possible. There are a dozen or so differences in the two defconfig, but this is obviously major.

FWIW, I am looking at the issue because of a sh*tty out-of-tree driver issue which seems to be much more serious with 64-bit kernel, with a kernel panic about "scheduling while atomic"...

Dominant language
C
Stars
13.2k
Forks
5.5k
Avg merge
2d 21h
Merged PRs (30d)
21

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from raspberrypi/linux

All issues in raspberrypi/linux

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.