-
Notifications
You must be signed in to change notification settings - Fork 5.1k
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
RPI2: Offlining one CPU crashes Kernel #843
Comments
Yes, never been tested, so not supported. From the backtrace it looks like there is a suspend IPI which we can possibly just wfi from. I assume there will be another IPI to wake back up. Any reason why you need this? If it's a power saving exercise, then maxcpus=1 added to cmdline.txt should work (but the power saving will be negligible). |
Primarily curiosity - wanted to test something/ was playing with some ideas mainly and then it crashed... |
Removing CONFIG_CPU_IDLE and CONFIG_HOTPLUG_CPU from kernel config means:
so the online field is removed. I'll add that to next update. |
well - in principle OK, but it just hides the bug that remains... |
Well it's the correct solution for the problem reported of using an unsupported feature crashes. |
See: raspberrypi/linux#843 kernel: serial: amba-pl011: Kickstart TX by explicit FIFO fill See: raspberrypi/linux#148 kernel: config: enable TOUCHSCREEN_USB_COMPOSITE See: raspberrypi/linux#718 firmware: ldconfig: Sort config options and use bsearch for lookups firmware: video_decode: Require a small factor improvement for fifo timestamps See: http://forum.kodi.tv/showthread.php?tid=215399 firmware: video codec: allow length-delineated input to have startcodes as well See: popcornmix/omxplayer#272
See: raspberrypi/linux#843 kernel: serial: amba-pl011: Kickstart TX by explicit FIFO fill See: raspberrypi/linux#148 kernel: config: enable TOUCHSCREEN_USB_COMPOSITE See: raspberrypi/linux#718 firmware: ldconfig: Sort config options and use bsearch for lookups firmware: video_decode: Require a small factor improvement for fifo timestamps See: http://forum.kodi.tv/showthread.php?tid=215399 firmware: video codec: allow length-delineated input to have startcodes as well See: popcornmix/omxplayer#272
Latest update doesn't expose the "online" node, so doesn't crash. |
I found that for my purposes the "isolcpus=3" kernel parameter plus taskset is probably a cleaner solution to my ideas than off-lining them from the kernel view and then re-enabling it again outside of the kernel context... (this is for low latency gpio stuff...) |
Just hiding the issue by not exporting the 'online' node shouldn't be the long term fix. There are other things in the kernel that use the same code path (kexec in particular), and they won't ever work until this is fixed (and having kexec support would be really nice, and also significant because the pi would be one of the few arm boards it actually works on). |
As I've said, suspend, hibernate, cpu hotplugging has never been supported, so removing the config options is correct. Sure, it would be nice if every possible kernel option could be enabled and do something useful, but we've got to prioritize. 99% of users will see no benefit from this. It may be looked into at some point in the future, but it's a low priority issue. We'd be happy to consider a pull request if someone adds support. |
While I agree that kexec, hibernate, and cpu hotplug wouldn't benefit most users, I do think that a lot of people who have media-center type systems might really like the ability to have it automatically sleep when not in use. I would look into getting this working myself, but have nowhere near the degree of architecture specific knowledge to tackle it an any reasonable amount of time. I would suggest putting somewhere in the documentation that it specifically doesn't work and isn't supported though. |
But there is no hardware support for suspend. All 4 cores are all clocked off the same clock and supplied the same power. I'm pretty certain a suspend mode would use exactly the same power consumption as we currently do when not busy. |
Interesting, tthat actually makes me kinda curious about the startup and shutdown code for the Pi in Linux. Does the GPU load the IP on all 4 CPU cores during boot, or is bringup handled by linux for all but the first core? |
As soon as arm is brought out of reset all 4 cores start executing. |
Yeah, it sounds like suspend would provide no gains whatsoever (especially since it would probably need some extra hardware for wakeup support). |
See: raspberrypi/linux#843 kernel: serial: amba-pl011: Kickstart TX by explicit FIFO fill See: raspberrypi/linux#148 kernel: config: enable TOUCHSCREEN_USB_COMPOSITE See: raspberrypi/linux#718 firmware: ldconfig: Sort config options and use bsearch for lookups firmware: video_decode: Require a small factor improvement for fifo timestamps See: http://forum.kodi.tv/showthread.php?tid=215399 firmware: video codec: allow length-delineated input to have startcodes as well See: popcornmix/omxplayer#272
rust: docs: use SVG logo
Offlining a CPU via:
results in the following crash:
That is: with: 3.18.7-v7+ #756 SMP PREEMPT Wed Feb 18 16:14:51 GMT 2015 armv7l GNU/Linux
Similar with a self-built kernel based on "fe4a83540ec73dfc298f16f027277355470ea9a0"
The text was updated successfully, but these errors were encountered: