Commits
Vasily Tarasov authored and Pavel Emelianov committed 0f23938a3fb
[IOPRIO] Introduce active beancounter switch This is very important patch, that implements actual scheduling of UBs. UB holds a list of active UBs (UBs that have I/O requests at the moment) in the last serviced order. It allows us to get next UB for service for O(1) time. The duration of time slice depends on UB priority by the following way: ub_slice = base_slice + (base_slice * (ioprio - UB_IOPRIO_MIN)) / (UB_IOPRIO_MAX - UB_IOPRIO_MIN) base_slice is HZ/2 by default, in this case, the time slice duration vary from HZ/2 to HZ. After applying this patch it is possible to compile kernel and observe its effects: no I/O DOS attack to the node can be performed from one particular VE.