• Vikas Shivappa's avatar
    x86/intel_rdt/cqm: Add mkdir support for RDT monitoring · c7d9aac6
    Vikas Shivappa authored
    Resource control groups can be created using mkdir in resctrl
    fs(rdtgroup). In order to extend the resctrl interface to support
    monitoring the control groups, extend the current mkdir to support
    resource monitoring also.
    
    This allows the rdtgroup created under the root directory to be able to
    both control and monitor resources (ctrl_mon group). The ctrl_mon groups
    are associated with one CLOSID like the legacy rdtgroups and one
    RMID(Resource monitoring ID) as well. Hardware uses RMID to track the
    resource usage. Once either of the CLOSID or RMID are exhausted, the
    mkdir fails with -ENOSPC. If there are RMIDs in limbo list but not free
    an -EBUSY is returned. User can also monitor a subset of the ctrl_mon
    rdtgroup's tasks/cpus using the monitor groups. The monitor groups are
    created using mkdir under the "mon_groups" directory in every ctrl_mon
    group.
    
    [Merged Tony's code: Removed a lot of common mkdir code, a fix to handling
    of the list of the child rdtgroups and some cleanups in list
    traversal. Also the changes to have similar alloc and free for CLOS/RMID
    and return -EBUSY when RMIDs are in limbo and not free]
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    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: 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
    Cc: reinette.chatre@intel.com
    Link: http://lkml.kernel.org/r/1501017287-28083-14-git-send-email-vikas.shivappa@linux.intel.com
    c7d9aac6
intel_rdt_rdtgroup.c 33.2 KB