Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
HinTak opened this issue Jan 27, 2021 · 1 comment
Open

Comments

@HinTak
Copy link
Contributor

HinTak commented Jan 27, 2021

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"...

@HinTak
Copy link
Contributor Author

HinTak commented Jan 28, 2021

I have read up about this - interestingly, ubuntu had opted for CONFIG_PREEMPT in both their 32-bit and 64-bit build for the opposite reason - to force preemption on unresponsive drivers. Sadly the issue I am looking at, want exactly to be unresponsive - it wants to block until the hardware responds one way or another, and causes kernel panics when run under full preemption...

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

No branches or pull requests

1 participant