
On 06/16/2011 12:44 AM, Wen Congyang wrote:
In the kernel, the value of quota is stored in uint64_t: ======================================= struct cfs_bandwidth { #ifdef CONFIG_CFS_BANDWIDTH raw_spinlock_t lock; ktime_t period; u64 quota; <========== here is u64, not s64 u64 runtime; u64 runtime_expires; s64 hierarchal_quota;
int idle; struct hrtimer period_timer, slack_timer; struct list_head throttled_cfs_rq;
/* statistics */ int nr_periods, nr_throttled; u64 throttled_time;
#endif }; =======================================
The unit of quota in kernel is ns, but the value we write to cpu.cfs_quota_us is us. So the max value we can write is 2^64/1000.
In the kernel, if quota is ~0ULL, it means unlimited.
Ok, I would think you can use the same semantics in libvirt then. No need for a structure. -- Adam Litke IBM Linux Technology Center