• Vikas Shivappa's avatar
    x86/intel_rdt/cqm: Improve limbo list processing · 24247aee
    Vikas Shivappa authored
    During a mkdir, the entire limbo list is synchronously checked on each
    package for free RMIDs by sending IPIs. With a large number of RMIDs (SKL
    has 192) this creates a intolerable amount of work in IPIs.
    
    Replace the IPI based checking of the limbo list with asynchronous worker
    threads on each package which periodically scan the limbo list and move the
    RMIDs that have:
    
    	llc_occupancy < threshold_occupancy
    
    on all packages to the free list.
    
    mkdir now returns -ENOSPC if the free list and the limbo list ere empty or
    returns -EBUSY if there are RMIDs on the limbo list and the free list is
    empty.
    
    Getting rid of the IPIs also simplifies the data structures and the
    serialization required for handling the lists.
    
    [ tglx: Rewrote changelog ... ]
    Signed-off-by: default avatarVikas Shivappa <vikas.shivappa@linux.intel.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: ravi.v.shankar@intel.com
    Cc: tony.luck@intel.com
    Cc: fenghua.yu@intel.com
    Cc: peterz@infradead.org
    Cc: eranian@google.com
    Cc: vikas.shivappa@intel.com
    Cc: ak@linux.intel.com
    Cc: davidcc@google.com
    Link: http://lkml.kernel.org/r/1502845243-20454-3-git-send-email-vikas.shivappa@linux.intel.com
    24247aee
intel_rdt.c 18.1 KB