[ Apologies if you're receiving this twice, the previous mailing did not seem to make it to the list for some reason ].

Hi all,

Please find attached the latest iteration of bandwidth control (v6).

Where the previous release cleaned up many of the semantics surrounding theupdate_curr() path and throttling, this release is focused on cleaning up thepatchset itself. Elements such as the notion of expiring bandwidth fromprevious quota periods as well as some of the core accounting changes havebeen pushed up (and re-written for clarity) within the patchset reducing thepatch-to-patch churn significantly.

While this restructuring was fairly extensive in terms of the code touched,there are no major behavioral changes beyond bug fixes.

Thanks to Hidetoshi Seto for identifying the throttle list corruption.

Notable changes:- Runtime is now actively expired taking advantage of the bounds placed on sched_clock syncrhonization.- distribute_cfs_runtime() no longer races with throttles around the period boundary.- Major code cleanup

Bug fixes:- several interactions with active load-balance have been corrected. This was manifesting previously in throttle_list corruption and crashes.