On 04/19/13 12:01, Peter Krempa wrote:
Refactoring done in 19c6ad9ac7e7eb2fd3c8262bff5f087b508ad07f didn't correctly take into account the order cgroup limit modification needs to be done in. This resulted into errors when decreasing the limits. The operations need to take place in this order: decrease hard limit change swap hard limit or change swap hard limit increase hard limit This patch also fixes the check if the hard_limit is less than swap_hard_limit to print better error messages. For this purpose I introduced a helper function virCompareLimitUlong to compare limit values where value of 0 is equal to unlimited. Additionally the check is now applied also when the user does not provide all of the tunables through the API and in that case the currently set values are used. This patch resolves: https://bugzilla.redhat.com/show_bug.cgi?id=950478 --- src/libvirt_private.syms | 1 + src/qemu/qemu_driver.c | 95 ++++++++++++++++++++++++------------------------ src/util/virutil.c | 12 ++++++ src/util/virutil.h | 2 + 4 files changed, 63 insertions(+), 47 deletions(-)
I used the attached script to test setting of the limit both ways. Peter
Attachment:
test-memtune.sh
Description: Bourne shell script
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list