lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 4 Jun 2019 09:41:56 -0700 From: Alexander Duyck <alexander.duyck@...il.com> To: Nitesh Narayan Lal <nitesh@...hat.com> Cc: kvm list <kvm@...r.kernel.org>, LKML <linux-kernel@...r.kernel.org>, linux-mm <linux-mm@...ck.org>, Paolo Bonzini <pbonzini@...hat.com>, lcapitulino@...hat.com, pagupta@...hat.com, wei.w.wang@...el.com, Yang Zhang <yang.zhang.wz@...il.com>, Rik van Riel <riel@...riel.com>, David Hildenbrand <david@...hat.com>, "Michael S. Tsirkin" <mst@...hat.com>, dodgen@...gle.com, Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>, dhildenb@...hat.com, Andrea Arcangeli <aarcange@...hat.com> Subject: Re: [QEMU PATCH] KVM: Support for page hinting On Mon, Jun 3, 2019 at 10:04 AM Nitesh Narayan Lal <nitesh@...hat.com> wrote: > > Enables QEMU to call madvise on the pages which are reported > by the guest kernel. > > Signed-off-by: Nitesh Narayan Lal <nitesh@...hat.com> > --- > hw/virtio/trace-events | 1 + > hw/virtio/virtio-balloon.c | 85 +++++++++++++++++++ > include/hw/virtio/virtio-balloon.h | 2 +- > include/qemu/osdep.h | 7 ++ > .../standard-headers/linux/virtio_balloon.h | 1 + > 5 files changed, 95 insertions(+), 1 deletion(-) <snip> > diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h > index 840af09cb0..4d632933a9 100644 > --- a/include/qemu/osdep.h > +++ b/include/qemu/osdep.h > @@ -360,6 +360,11 @@ void qemu_anon_ram_free(void *ptr, size_t size); > #else > #define QEMU_MADV_REMOVE QEMU_MADV_INVALID > #endif > +#ifdef MADV_FREE > +#define QEMU_MADV_FREE MADV_FREE > +#else > +#define QEMU_MADV_FREE QEMU_MADV_INVALID > +#endif Is there a specific reason for making this default to INVALID instead of just using DONTNEED? I ran into some issues as my host kernel didn't have support for MADV_FREE in the exported kernel headers apparently so I was getting no effect. It seems like it would be better to fall back to doing DONTNEED instead of just disabling the functionality all together. > #elif defined(CONFIG_POSIX_MADVISE) > > @@ -373,6 +378,7 @@ void qemu_anon_ram_free(void *ptr, size_t size); > #define QEMU_MADV_HUGEPAGE QEMU_MADV_INVALID > #define QEMU_MADV_NOHUGEPAGE QEMU_MADV_INVALID > #define QEMU_MADV_REMOVE QEMU_MADV_INVALID > +#define QEMU_MADV_FREE QEMU_MADV_INVALID Same here. If you already have MADV_DONTNEED you could just use that instead of disabling the functionality. > #else /* no-op */ > > @@ -386,6 +392,7 @@ void qemu_anon_ram_free(void *ptr, size_t size); > #define QEMU_MADV_HUGEPAGE QEMU_MADV_INVALID > #define QEMU_MADV_NOHUGEPAGE QEMU_MADV_INVALID > #define QEMU_MADV_REMOVE QEMU_MADV_INVALID > +#define QEMU_MADV_FREE QEMU_MADV_INVALID > > #endif >
Powered by blists - more mailing lists