From: Marc Fiuczynski Date: Mon, 11 Jul 2005 19:38:42 +0000 (+0000) Subject: Added set_sched for vserver scheduler. X-Git-Tag: after-util-vserver-0_30_208-revert~162 X-Git-Url: http://git.onelab.eu/?p=util-vserver.git;a=commitdiff_plain;h=17ba7ec8cd570d3656e233c660b82cd34f6a0eb6 Added set_sched for vserver scheduler. --- diff --git a/python/vserver.py b/python/vserver.py index 666ef00..4a7728d 100644 --- a/python/vserver.py +++ b/python/vserver.py @@ -42,6 +42,9 @@ FLAGS_HIDEINFO = 32 FLAGS_ULIMIT = 64 FLAGS_NAMESPACE = 128 +# default values for new vserver scheduler +SCHED_TOKENS_MIN = 50 +SCHED_TOKENS_MAX = 100 class VServer: @@ -106,6 +109,27 @@ class VServer: return blocktotal + def set_sched(self, shares, besteffort = True): + global SCHED_TOKENS_MIN, SCHED_TOKENS_MAX + tokensmin = SCHED_TOKENS_MIN + tokensmax = SCHED_TOKENS_MAX + + if besteffort is True: + # magic "interval" value for Andy's scheduler to denote besteffort + interval = 1000 + fillrate = shares + else: + interval = 1001 + fillrate = shares + + try: + vserverimpl.setsched(self.ctx,fillrate,interval,tokensmin,tokensmax) + except OSError, ex: + if ex.errno == 22: + print "kernel does not support vserver scheduler" + else: + raise ex + def open(self, filename, mode = "r", bufsize = -1): (sendsock, recvsock) = passfdimpl.socketpair()