[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] How to deal with hypercalls returning -EFAULT



Juergen Gross writes ("How to deal with hypercalls returning -EFAULT"):
> 3. Modify the interface to the privcmd driver to pass information about
>    used buffers to the kernel in order to lock them there. Either add a
>    new interface for hypercall buffer management or add the list of
>    buffers to the privcmd ioctl data structure.
>    Pros: - problem is really solved
>    Cons: - split solution between kernel and Xen, both must be changed

I think this is the best approach.  There are presumably already
internal kernel interfaces which could be used by privcmd to implement
this.  All that's needed is to decide what the kernel API should look
like and implement it.  libxc doesn't really care very much what that
interface looks like, so it can be whatever is convenient for the
kernel.

> 2. Add a bandaid to Xen tools by retrying hypercalls which have failed
>    with -EFAULT (either for all or only for some hypercalls)
>    Pros: - no interface change necessary
>    Cons: - not all hypercalls might be just repeatable
>          - problem isn't solved but just worked around

This may allow us to make some kind of progress in systems which are
fundamentally broken, but I don't think it is a tolerable long term
approach.

If we do this, we should also do your option (3), and the workaround
should only be enabled if the proper interface is not available.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.