在支持同时多线程的处理器上(我不再对其进行测试),如果只有一个或一些物理核心的逻辑核心具有与其他核心不同的频率策略(例如,由设置cpupower
),会发生什么?
例如,假设我使用的是具有 2 路 SMT 的 4 核处理器,其中逻辑核心 0 和 1 属于物理核心 0,逻辑核心 2 和 3 属于物理核心 1,依此类推。如果我将 LC0 的最大频率限制为 2.0 GHz,将 LC1 的最大频率限制为 3.0 GHz,然后将 CPU 最大化,会发生什么?我听说物理核心在任何时候都只能有一个频率,所以我的猜测是只有一个设置会覆盖另一个设置(例如可能是后者的设置,或者以较低/较高的为准)。即便如此,如果一个 LC 的频率范围设置为与其兄弟完全不重叠(例如 LC0 为 1.0 到 2.0 GHz,LC1 为 3.0 到 4.0 GHz),会发生什么?PC0 的有效频率范围是多少?这种奇怪的调节器设置会导致它发生翻转吗?
虽然这个问题不一定特定于cpupower
,但我不确定它在多大程度上取决于用于设置策略的工具的行为(它可能知道 SMT 并在注意到奇怪的请求时出错)与调控器本身或其他东西。请注意,我做这样的事情没有实际用途。我只是好奇会发生什么。