[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v10 5/6] x86/ioreq server: Asynchronously reset outstanding p2m_ioreq_server entries.
>>> On 05.04.17 at 09:18, <yu.c.zhang@xxxxxxxxxxxxxxx> wrote: > On 4/3/2017 10:36 PM, Jan Beulich wrote: >> So this produces the same -EINVAL as the earlier check in context >> above. I think it would be nice if neither did - -EINUSE for the first >> (which we don't have, so -EOPNOTSUPP would seem the second >> bets option there) and -EBUSY for the second would seem more >> appropriate. If you agree, respective adjustments could be done >> while committing, if no other reason for a v11 arises. > > Thanks Jan. First of all - deleting irrelevant context from replies is always appreciated, but I think you went too far here. It is no longer possible to re-associate your comments with the change you've made (not visible from the code fragment below). > But my code shows both will return -EBUSY, instead of -EINVAL for the > mapping requirement: > /* Unmap ioreq server from p2m type by passing flags with 0. */ > if ( flags == 0 ) > { > /rc = -EINVAL;/ > if ( p2m->ioreq.server != s ) > goto out; > > p2m->ioreq.server = NULL; > p2m->ioreq.flags = 0; > } > else > { > /rc = -EBUSY;/ > if ( p2m->ioreq.server != NULL ) > goto out; > > /* > * It is possible that an ioreq server has just been unmapped, > * released the spin lock, with some p2m_ioreq_server entries > * in p2m table remained. We shall refuse another ioreq server > * mapping request in such case. > */ > if ( read_atomic(&p2m->ioreq.entry_count) ) > goto out; Oh, I see: I've mistakenly assumed to addition was to the if() branch. I clearly didn't look closely enough, I'm sorry. > p2m->ioreq.server = s; > p2m->ioreq.flags = flags; > } > > Are you really wanna use -EOPNOTSUPP when p2m->ioreq.server is not NULL > for the mapping code? As per above, I really did refer to the wrong piece of code, so all is fine the way the code is. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |