Sorry for late reply.
Why do we get more than 1 stats for a specific cpt and queue_type.
Understood comparing to this, a single stats would be easier to understand. However, this is determined by the internal design and implementation of request handling of Lustre which have good reasons too. And TBF has no other choice but to use and depend on it.
Lustre seperate requests into two different types, regular (reg) requests and high priority (hp) requests. And handling of these two types of requests are seperated in order to make sure high priority requests won't be blocked by many regular requests.
And Lustre divide CPUs into different patitions (cpt). Each patition handles RPC requests independently.
Because of these existing mechansim, TBF have to set the RPC rate limitations seperately (maybe with the same values), and the stats are seperated for each cpt and request type.
We have been using the patch. But I think it needs addition work to be more useful. We will need to think about how it could improved.