From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: Re: [PATCH 1 of 3] Support of getting scheduler defaults Date: Wed, 23 May 2012 10:45:19 +0200 Message-ID: <4FBCA39F.4090408@ts.fujitsu.com> References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1> <1337689344.10118.92.camel@zakaz.uk.xensource.com> <4FBB86AE.7010908@ts.fujitsu.com> <1337689975.10118.102.camel@zakaz.uk.xensource.com> <4FBB8D92.8050800@ts.fujitsu.com> <1337694056.10118.128.camel@zakaz.uk.xensource.com> <1337698766.10118.139.camel@zakaz.uk.xensource.com> <1337730401.27368.38.camel@Solace> <4FBC76E3.5020602@ts.fujitsu.com> <1337757720.27368.58.camel@Solace> <1337758867.3991.6.camel@dagon.hellion.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1337758867.3991.6.camel@dagon.hellion.org.uk> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: George Dunlap , "xen-devel@lists.xensource.com" , Dario Faggioli List-Id: xen-devel@lists.xenproject.org On 05/23/2012 09:41 AM, Ian Campbell wrote: > # xl create vm1.cfg > Parsing config from vm1.cfg > libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sched sedf: Invalid argument > > And I'm getting the above independently on what I put in the config file > (valid params, no params at all, etc.). I also can't change the > scheduling parameters of a domain on-line anymore: > > # xl sched-sedf -d 3 -p 100 -s 50 > libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sched sedf: Invalid argument > libxl_sched_sedf_domain_set failed. > > I'll try digging a bit more into this ASAP. >>> It's easy: Ian repeated an error he (and I) corrected elsewhere: >>> He's always setting period, regardless of the changed parameter... >>> >> Not sure, I think Ian's patch fixes that: > I thought so to! It fixes the original error. >> --- a/tools/libxl/xl_cmdimpl.c Tue May 22 14:19:07 2012 +0100 >> +++ b/tools/libxl/xl_cmdimpl.c Tue May 22 15:58:47 2012 +0100 >> @@ -627,23 +627,20 @@ static void parse_config_data(const char >> >> libxl_domain_build_info_init_type(b_info, c_info->type); >> >> - /* the following is the actual config parsing with overriding values in the structures */ >> + /* the following is the actual config parsing with overriding >> + * values in the structures */ >> if (!xlu_cfg_get_long (config, "cpu_weight",&l, 0)) >> b_info->sched_params.weight = l; >> if (!xlu_cfg_get_long (config, "cap",&l, 0)) >> b_info->sched_params.cap = l; >> - if (!xlu_cfg_get_long (config, "tslice_ms",&l, 0)) >> - b_info->sched_params.tslice_ms = l; >> - if (!xlu_cfg_get_long (config, "ratelimit_us",&l, 0)) >> - b_info->sched_params.ratelimit_us = l; >> if (!xlu_cfg_get_long (config, "period",&l, 0)) >> b_info->sched_params.period = l; >> if (!xlu_cfg_get_long (config, "slice",&l, 0)) >> - b_info->sched_params.period = l; >> + b_info->sched_params.slice = l; >> if (!xlu_cfg_get_long (config, "latency",&l, 0)) >> - b_info->sched_params.period = l; >> + b_info->sched_params.latency = l; >> if (!xlu_cfg_get_long (config, "extratime",&l, 0)) >> - b_info->sched_params.period = l; >> + b_info->sched_params.extratime = l; >> >> >> So it has to be something else... Oh yes: + + if (scinfo->period != LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT) + period = scinfo->period * 1000000; + if (scinfo->slice != LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT) + period = scinfo->slice * 1000000; + if (scinfo->latency != LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT) + period = scinfo->latency * 1000000; + if (scinfo->extratime != LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT) + period = scinfo->extratime; + if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT) + period = scinfo->weight; Regardless which parameter was changed, it is always 'period' which is set to the changed value. Juergen -- Juergen Gross Principal Developer Operating Systems PDG ES&S SWE OS6 Telephone: +49 (0) 89 3222 2967 Fujitsu Technology Solutions e-mail: juergen.gross@ts.fujitsu.com Domagkstr. 28 Internet: ts.fujitsu.com D-80807 Muenchen Company details: ts.fujitsu.com/imprint.html