[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 |