簡體   English   中英

是否應該在異構多線程CPU上啟用SMP?

[英]Should I enable SMP on heterogeneous multi-threaded CPU's?

我正在為big.LITTLE板構建Linux內核,並且一直想知道CONFIG_SMP選項是否啟用了內核的對稱處理支持。 Linux的文檔說應該在多線程處理器上啟用它,但是我想知道對稱多處理是否不僅只能在實際上對稱的處理器上正常工作。 我知道SMP是什么,但是我還沒有找到任何提示或文檔,沒有關於SMP的任何暗示或文檔,這些提示或文檔在為ARM的big.LITTLE構建的Linux上使用了它。

是的,如果要使用多個內核,則必須啟用CONFIG_SMP。 這本身將使所有內核(大內核和小內核)都可用於內核。

然后,您有兩個選擇(我假設您使用的是Mainline Linux內核或與其沒有太大不同的東西,例如,不是Android內核):

  1. 如果還啟用了CONFIG_BL_SWITCHER(->內核功能-> big.LITTLE支持-> big.LITTLE切換器支持)和CONFIG_ARM_BIG_LITTLE_CPUFREQ(-> CPU電源管理-> CPU頻率縮放-> CPU頻率縮放->通用ARM big LITTLE CPUfreq驅動程序),則SoC中的每個大內核都將與一個小內核配對,並且每對中只有一個內核在任何給定時間處於活動狀態,具體取決於CPU負載。 因此,基本上,邏輯核心的數量將是物理核心數量的一半,並且每個邏輯核心將結合一個物理大核心和一個物理小核心(除非大核心的總數與小核心的數量不同)將會有不成對的物理核心,它們也是邏輯核心)。 對於每個邏輯核心,大小物理核心之間的切換將由cpufreq調控器管理,並且在概念上等效於CPU頻率切換。
  2. 如果您未啟用上述兩個配置選項,則所有物理核心將可用作邏輯核心,可以同時處於活動狀態,並且由調度程序將它們視為相同。

如果您的目標是低功耗,則第一種選擇更適合,而第二種選擇則使您可以充分利用CPU。

當主線內核中集成了異構多處理(HMP)支持時,這種情況將會改變。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM