I think it is also important to understand some of these values we talk about are intended to point to potential issues and don't call them out.
The CPU time in ms is based on execution of methods. In a thread were i was talking with @dennypage he found out that they way they track cpu ms time can be exaggerated depending on how the program is written. So It may not be a good way to look at actual hub usage.
The CPU % from Hub info is probably better to zero in on actual hub usage, but it isn't perfect either. It is simply math based on the load value and the number of cores in the system. This should be fairly close, but not 100% accurate either. CPU Load isn't directly related to CPU% used.
The CPU Load value as stated above isn't exactly cpu useage as it includes things like Wait states, TCP transmision stuff, disk access delays, ect. but is a decent way to point to how many cores/threads a system needs to process it's work load. That said sometimes a system with 4 cores can run fine with a load of 6 or even 8 depending on how balanced the tasks are. I would also say for the fastest response i would always want to see cpu load values below the number of cores of a system.
My point is all of those values are not 100% what we may think they are. They should be used to try to help point us toward the problem when we experience a issue, but may not point at a problem if you are not experiencing a issue at that time.