Skip to content
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

No Multicore Scheduler support? #1221

Closed
robingroppe opened this issue Dec 8, 2015 · 5 comments
Closed

No Multicore Scheduler support? #1221

robingroppe opened this issue Dec 8, 2015 · 5 comments

Comments

@robingroppe
Copy link

Just checked the kernel config again and realized that no Multicore Scheduler Support is in use.
Is there a specific reason for this?

@P33M
Copy link
Contributor

P33M commented Dec 8, 2015

Are you talking about CONFIG_SCHED_SMT or CONFIG_SCHED_MC?

pi@raspberrypi:~$ zgrep SCHED /proc/config.gz
CONFIG_GENERIC_SCHED_CLOCK=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_CFQ_GROUP_IOSCHED=y
CONFIG_DEFAULT_IOSCHED="cfq"
# CONFIG_SCHED_MC is not set
# CONFIG_SCHED_SMT is not set
CONFIG_SCHED_HRTICK=y
CONFIG_NET_SCHED=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHED_TRACER=y

@popcornmix
Copy link
Collaborator

It's CONFIG_SCHED_MC. The help text says:

Multi-core scheduler support improves the CPU scheduler's decision making when dealing with multi-core CPU chips at a cost of slightly increased overhead in some places. If unsure say N here.

Someone sees a 10% reduction in performance here:
https://www.redhat.com/archives/dm-devel/2010-August/msg00164.html

[edit: although there may have been other reasons for that report]

So, again I think need careful analysis before enabling.

@robingroppe
Copy link
Author

The question would be if it is in use at all when there is only one cpu in the system like the Pi 1 or Zero.

@P33M
Copy link
Contributor

P33M commented Dec 8, 2015

We have two different configs for 2835 and 2836 (bcmrpi_defconfig and bcm2709_defconfig).

I don't think Sched_MC will have any positive benefit. It makes the kernel aware of CPU locality (cache hierarchy), but all our A7s share an L2 cache.

https://wiki.linaro.org/WorkingGroups/PowerManagement/Archives/SchedMc

@robingroppe
Copy link
Author

Okay. Thank you for making that clear.

graysky2 added a commit to graysky2/PKGBUILDs that referenced this issue Nov 30, 2020
Align both config and config8 a bit more with rpi recommended config (make bcm2711_defconf).

Preemption model to desktop
Disable multi-core and SMT schedulers, see: raspberrypi/linux#1221
Set max CPU to 4
Set tick rate to 100 Hz for both kernels (although arm64 defaults to 250)
Add some CEC drivers as modules
Remove weak crypto modules ARC4 and Blowfish
graysky2 added a commit to graysky2/PKGBUILDs that referenced this issue Dec 10, 2020
Align both config and config8 a bit more with rpi recommended config (make bcm2711_defconf).

Preemption model to desktop
Disable multi-core and SMT schedulers, see: raspberrypi/linux#1221
Set max CPU to 4
Set tick rate to 100 Hz for both kernels (although arm64 defaults to 250)
Add some CEC drivers as modules
Remove weak crypto modules ARC4 and Blowfish
graysky2 added a commit to archlinuxarm/PKGBUILDs that referenced this issue Jan 26, 2021
Sync up options from core/linux-raspberrypi4 config

Preemption model to desktop
Disable multi-core and SMT schedulers, see: raspberrypi/linux#1221
Add bcm2711 thermal support
Add CEC support, RAS, PCIE stuff, NVME stuff, Samsung net, I2C_HID, RAS, crypto Adiantum
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

3 participants