|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] xen 4.3 test report
2013/6/3 Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>:
> The non-debug version tells me it is:
>
> 289 if ( (port = get_free_port(d)) < 0 )
> 290 ERROR_EXIT(port);
>
> Which gets -EEXIST from get_free_port. But get_free_port only returns
> -EINVAL, -ENOMEM, and -ENOSPC in failure modes.
>
> But we get -EEXIST? Could you re-run git diff and attach output to
> this email? I think you tweaked the debug code a bit so I am looking
> at something different?
Oh sorry. Yes i modify you patch to this version:
--- a/xen/common/event_channel.c 2013-05-16 15:05:25.000000000 +0400
+++ b/xen/common/event_channel.c 2013-05-27 10:53:05.000000000 +0400
@@ -271,23 +271,38 @@ static long evtchn_bind_virq(evtchn_bind
int port, virq = bind->virq, vcpu = bind->vcpu;
long rc = 0;
- if ( (virq < 0) || (virq >= ARRAY_SIZE(v->virq_to_evtchn)) )
+ if ( (virq < 0) || (virq >= ARRAY_SIZE(v->virq_to_evtchn)) ) {
+ gdprintk(XENLOG_WARNING, "d%dv%d [%s:%d], virq:%d, rc:%ld\n",
d->domain_id,
+ vcpu, __func__,__LINE__, virq, (long)-EINVAL);
return -EINVAL;
+ }
- if ( virq_is_global(virq) && (vcpu != 0) )
+ if ( virq_is_global(virq) && (vcpu != 0) ) {
+ gdprintk(XENLOG_WARNING, "d%dv%d [%s:%d], virq_is_global:%d,
rc:%ld\n", d->domain_id,
+ vcpu, __func__,__LINE__, virq_is_global(virq), (long)-EINVAL);
return -EINVAL;
+ }
if ( (vcpu < 0) || (vcpu >= d->max_vcpus) ||
- ((v = d->vcpu[vcpu]) == NULL) )
+ ((v = d->vcpu[vcpu]) == NULL) ) {
+ gdprintk(XENLOG_WARNING, "d%dv%d [%s:%d], v:%p, max_vcpus:%d,
rc:%ld\n", d->domain_id,
+ vcpu, __func__,__LINE__, d->vcpu[vcpu], d->max_vcpus,
(long)-ENOENT);
return -ENOENT;
+ }
spin_lock(&d->event_lock);
- if ( v->virq_to_evtchn[virq] != 0 )
+ if ( v->virq_to_evtchn[virq] != 0 ) {
+ gdprintk(XENLOG_WARNING, "d%dv%d [%s:%d], port:%d, rc:%ld\n",
d->domain_id,
+ vcpu, __func__,__LINE__, v->virq_to_evtchn[virq],
(long)-EEXIST);
ERROR_EXIT(-EEXIST);
+ }
- if ( (port = get_free_port(d)) < 0 )
+ if ( (port = get_free_port(d)) < 0 ) {
+ gdprintk(XENLOG_WARNING, "d%dv%d [%s:%d], port:%d, rc:%ld\n",
d->domain_id,
+ vcpu, __func__,__LINE__, port, (long)-EEXIST);
ERROR_EXIT(port);
+ }
chn = evtchn_from_port(d, port);
chn->state = ECS_VIRQ;
--
Vasiliy Tolstov,
e-mail: v.tolstov@xxxxxxxxx
jabber: vase@xxxxxxxxx
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |