From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: wei.liu2@citrix.com, stefano.stabellini@eu.citrix.com,
george.dunlap@eu.citrix.com, andrew.cooper3@citrix.com,
dario.faggioli@citrix.com, ian.jackson@eu.citrix.com,
xen-devel@lists.xen.org, david.vrabel@citrix.com
Subject: Re: [PATCH v2 2/3] xen: add hypercall option to temporarily pin a vcpu
Date: Tue, 1 Mar 2016 12:58:04 +0100 [thread overview]
Message-ID: <56D583CC.4060409@suse.com> (raw)
In-Reply-To: <56D58ABF02000078000D7C46@suse.com>
On 01/03/16 12:27, Jan Beulich wrote:
>>>> On 01.03.16 at 10:02, <JGross@suse.com> wrote:
>> @@ -752,14 +766,20 @@ static int vcpu_set_affinity(
>> struct vcpu *v, const cpumask_t *affinity, cpumask_t *which)
>> {
>> spinlock_t *lock;
>> + int ret = 0;
>>
>> lock = vcpu_schedule_lock_irq(v);
>>
>> - cpumask_copy(which, affinity);
>> + if ( v->affinity_broken )
>> + ret = -EBUSY;
>> + else
>> + {
>> + cpumask_copy(which, affinity);
>>
>> - /* Always ask the scheduler to re-evaluate placement
>> - * when changing the affinity */
>> - set_bit(_VPF_migrating, &v->pause_flags);
>> + /* Always ask the scheduler to re-evaluate placement
>> + * when changing the affinity */
>> + set_bit(_VPF_migrating, &v->pause_flags);
>
> When you touch code like this, would it be possible to at once fix
> the coding style issues it (the comment in this case) has?
Sure, NP.
>
>> @@ -978,6 +998,51 @@ void watchdog_domain_destroy(struct domain *d)
>> kill_timer(&d->watchdog_timer[i]);
>> }
>>
>> +static long do_pin_temp(int cpu)
>
> As expressed before, throughout this patch I dislike the "temp"
> naming, when the temporary nature of this operation isn't being
> enforced by anything.
>
> Apart from that I (vaguely) recall there having been previous
> suggestions in the direction of (temporary), which have got
> rejected.
>
> On both points I think we need to have input from the scheduler
> maintainers.
Okay. I don't mind changing the name. We should just agree on one.
>
>> +{
>> + struct vcpu *v = current;
>> + spinlock_t *lock;
>> + long ret = -EINVAL;
>
> "int" seems completely sufficient for both the variable and the
> function return type.
Hmm, yes.
>
>> @@ -1087,6 +1152,23 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>> break;
>> }
>>
>> + case SCHEDOP_pin_temp:
>> + {
>> + struct sched_pin_temp sched_pin_temp;
>> +
>> + ret = -EFAULT;
>> + if ( copy_from_guest(&sched_pin_temp, arg, 1) )
>> + break;
>> +
>> + ret = -EPERM;
>> + if ( !is_hardware_domain(current->domain) )
>> + break;
>
> I'd generally suggest swapping these two.
Will do.
>
>> --- a/xen/include/public/sched.h
>> +++ b/xen/include/public/sched.h
>> @@ -118,6 +118,17 @@
>> * With id != 0 and timeout != 0, poke watchdog timer and set new timeout.
>> */
>> #define SCHEDOP_watchdog 6
>> +
>> +/*
>> + * Temporarily pin the current vcpu to one physical cpu or undo that pinning.
>> + * @arg == pointer to sched_pin_temp_t structure.
>> + *
>> + * Setting pcpu to -1 will undo a previous temporary pinning and restore the
>> + * previous cpu affinity. The temporary aspect of the pinning isn't enforced
>> + * by the hypervisor.
>
> This comment is now out of sync with the code, since you now
> accept any negative CPU number as "undo" request.
Will change it.
Juergen
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-03-01 11:58 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-01 9:02 [PATCH v2 0/3] add hypercall option to temporarily pin a vcpu Juergen Gross
2016-03-01 9:02 ` [PATCH v2 1/3] xen: silence affinity messages on suspend/resume Juergen Gross
2016-03-02 11:11 ` Dario Faggioli
2016-03-01 9:02 ` [PATCH v2 2/3] xen: add hypercall option to temporarily pin a vcpu Juergen Gross
2016-03-01 11:27 ` Jan Beulich
2016-03-01 11:55 ` David Vrabel
2016-03-01 11:58 ` Juergen Gross
2016-03-01 12:15 ` Dario Faggioli
2016-03-01 14:02 ` George Dunlap
[not found] ` <56D58ABF02000078000D7C46@suse.com>
2016-03-01 11:58 ` Juergen Gross [this message]
2016-03-01 15:52 ` George Dunlap
2016-03-01 15:55 ` George Dunlap
2016-03-01 16:11 ` Jan Beulich
2016-03-02 7:14 ` Juergen Gross
2016-03-02 9:27 ` Dario Faggioli
2016-03-02 11:19 ` Juergen Gross
2016-03-02 11:49 ` Dario Faggioli
2016-03-02 12:12 ` Juergen Gross
2016-03-02 15:34 ` Juergen Gross
2016-03-02 16:03 ` Dario Faggioli
2016-03-02 17:15 ` Juergen Gross
2016-03-02 17:21 ` Anshul Makkar
2016-03-03 5:31 ` Juergen Gross
2016-03-01 9:02 ` [PATCH v2 3/3] libxc: do some retries in xc_cpupool_removecpu() for EBUSY case Juergen Gross
2016-03-01 11:58 ` Wei Liu
2016-03-01 11:59 ` Juergen Gross
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56D583CC.4060409@suse.com \
--to=jgross@suse.com \
--cc=JBeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=dario.faggioli@citrix.com \
--cc=david.vrabel@citrix.com \
--cc=george.dunlap@eu.citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.