intel / intel-cmt-cat

User space software for Intel(R) Resource Director Technology
http://www.intel.com/content/www/us/en/architecture-and-technology/resource-director-technology.html
Other
693 stars 183 forks source link

Scope of effect of rdtset #178

Closed jchia closed 3 years ago

jchia commented 3 years ago

When running rdtset, it is necessary to provide either the pid of existing processes or the command-line for a new process. E.g. you can run rdtset -r 0 -t 'l3=0x7f;cpu=2,4,6,8,10' -t 'l3=0x180;cpu=0,12,14' -c 2 id but if you drop the -c 2 id, rdtset will complain "Incorrect invocation!"

I understand that rdtset with -t 'l3=... can be used to do L3 cache allocation but what do the specified processes have to do with the allocation? Is the cache allocation done by rdtset not system-wide but somehow process-specific? That means if I start two concurrent processes these commands...:

rdtset -r 0 -t 'l3=0x1;cpu=2' -c 2 proc1
rdtset -r 0 -t 'l3=0x2;cpu=2' -c 2 proc2

... when proc1 is scheduled on Core 2, Core 2 can use only L3 cache way 0, but when proc2 is scheduled on Core 2, Core 2 can use only L3 cache way 1. Is that what it means? I don't think so because after the first command is issued and proc1 is running, the second command-line will get an error "Allocation: cpu 2 has already associated COS#15. Please reset allocation."

So, is the effect of rdtset not system-wide? Why do we need to talk about processes to rdtset? The output from pqos -s seems to imply that L3 CAT settings are system-wide as the output from pqos -s does not talk about processes.

kmabbasi commented 3 years ago

Hi, rdtset configures a specific COS for the duration of 1 application/pid. Once that application terminates, the configuration is reverted. For persistent system-wise configuration, please use pqos utility.

Thanks, Khawar

kmabbasi commented 3 years ago

I am going to close this issue by considering that this issue has been resolved.

You can open or create new ticket, if you need our support.

Thanks, Khawar