[Question] MTRR init on secondary processors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Got a question about how we init MTRR for hot plugged processors.

I see that when init MTRR on new processors (online one processor,
possibly by hot-plugged), we need to stop all the active processors,
re-init MTRR on all the processors synchronously. Could anyone
explain why we need this sync-up for all the active processors
(please check mtrr_ap_init()) ?

I can understand that the OS software should make sure that every
processor's MTRR configurations are consistent, but why not we init
the new one only, just to make sure it is consistent with others
(since all the rest processors should be consistent in MTRR
configurations already)?

I am asking this since I found that this operation will force all
active processor to stop its work (the MTRR re-init is handled by
[migration/N] per-cpu kernel thread with FIFO 99 priority, which
will interrupt my RT application program), which brings very big
latency spikes on real-time CPUs.

I checked Intel manual volume 3 section 11.11.8, I think it's
following what the manual says. However I still cannot understand
the reason behind. Would appreciate if anyone knows this, and also
if anyone has suggestion on how I could avoid this spike on RT
systems.

Thanks in advance.
Peter
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux