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

Re: [Xen-devel] [PATCH] tools/misc/xencov.c: Use MAP_WIRED on NetBSD

On Thu, 2013-05-30 at 14:46 +0200, Christoph Egger wrote:
> tools/xencov: MAP_LOCKED is Linux specific. NetBSD's equivalent is MAP_WIRED.

It looks to me as if xencov.c's shouldn't be using mmap in the first
place. It should be using the libxc hypercall buffer code.

I think xencov.c should be using xc_hypercall_buffer_alloc(_pages) and
gcov_get_info should be xc_gcov_get_info & inside libxc not open coded
in this tool. Not least because of its abuse of the GUEST_HANDLE
interface (going directly at .p instead of using xen_set_guest_handle(),
which is forbidden).

Frediano, do you have time to sort this out?

NB On Linux the hypercall buffers currently turn into MAP_PRIVATE|
MAP_ANONYMOUS|MAP_LOCKED but on netbsd it is just xc_memalign.
Presumably netbsd doesn't have to worry about the hypercall buffer being
unmapped/swapped/paged/etc under its feet? Or if it does it needs to be
fixed in libxc...


> From: Miguel Clara <miguelmclara@xxxxxxxxx>
> Signed-off-by: Christoph Egger <chegger@xxxxxxxxx>
> diff -r f1fa13daf4b7 -r 97a4f7e36a8f tools/misc/xencov.c
> --- a/tools/misc/xencov.c     Fri May 10 13:45:02 2013 +0000
> +++ b/tools/misc/xencov.c     Thu May 30 12:40:13 2013 +0000
> @@ -26,6 +26,11 @@
>  #include <err.h>
>  #include <sys/mman.h>
> +#ifdef __NetBSD__
> +/* MAP_LOCKED is Linux specific. MAP_WIRED is NetBSD's equivalent. */
> +#endif
> +
>  static xc_interface *gcov_xch = NULL;
>  static void gcov_init(void)

Xen-devel mailing list



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