Port-xen archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Instability issues with NetBSD-9, xen-4.11 and the xbdb backend driver
On Fri, Nov 15, 2019 at 05:29:26AM -0000, Michael van Elst wrote:
> buhrow%nfbcal.org@localhost (Brian Buhrow) writes:
>
> >It looks like xen_shm_map() is supposed to return ENOMEM if it can't
> >allocate a segment of memory in the moment, but instead, it's returning -1,
> >which triggers the messages I'm seeing.
>
> And that's obviously wrong. xen_shm_map() has:
>
> for (i = 0; i < nentries; i++) {
> if (__predict_false(op[i].status))
> return op[i].status;
> handlep[i] = op[i].handle;
> }
>
> It shouldn't return the Xen op status but an errno.
Actually it was not specifically designed to return an errno.
Xen errors are fine too, and as they are < 0 it's distict namespaces.
>
> On the other hand, if that is a partial grant, and since we cannot
> handle that, we probably need to undo that partial grant before returning
> the error to keep reference counting correct.
Probably.
As I mentionned in a previous message, it seems that we end up with an
error here because the hypervisor is called with bad flags (0).
While I can't see how this can happen, more debug infos (like: what i and
op[i].flags are when op[i].status is not 0) could be usefull.
--
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index