| Date | Tue, 1 Aug 2017 22:14:38 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH 09/28] x86/intel_rdt/cqm: Add RMID(Resource monitoring ID) management |
| |
On Tue, 25 Jul 2017, Vikas Shivappa wrote: > Hardware uses RMID(Resource monitoring ID) to keep track of each of the > RDT events associated with tasks. The number of RMIDs is dependent on > the SKU and is enumerated via CPUID. We add support to manage the RMIDs > which include managing the RMID allocation and reading LLC occupancy > for an RMID. > > RMID allocation is managed by keeping a free list which is initialized > to all available RMIDs except for RMID 0 which is always reserved for > root group. RMIDs goto a limbo list once they are > freed since the RMIDs are still tagged to cache lines of the tasks which > were using them - thereby still having some occupancy. They continue to > be in limbo list until the occupancy < threshold_occupancy. The > threshold_occupancy is a user configurable value. > OS uses IA32_QM_CTR MSR to read the occupancy associated with an RMID > after programming the IA32_EVENTSEL MSR with the RMID. > > [Tony: Improved limbo search]
The search is smarter, but the smp function call problem per se persists. It's still more than 100us worstcase on a BDW box and it's going to be worse with the next generation.
Thanks,
tglx
|