From: "Michael S. Tsirkin" <mst@redhat.com>
To: Wei Wang <wei.w.wang@intel.com>
Cc: virtio-dev@lists.oasis-open.org, linux-kernel@vger.kernel.org,
virtualization@lists.linux-foundation.org, kvm@vger.kernel.org,
linux-mm@kvack.org, mhocko@kernel.org, akpm@linux-foundation.org,
pbonzini@redhat.com, liliang.opensource@gmail.com,
yang.zhang.wz@gmail.com, quan.xu0@gmail.com, nilal@redhat.com,
riel@redhat.com, huangzhichao@huawei.com
Subject: [virtio-dev] Re: [PATCH v27 3/4] mm/page_poison: expose page_poisoning_enabled to kernel modules
Date: Thu, 8 Feb 2018 05:04:43 +0200 [thread overview]
Message-ID: <20180208050337-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <5A7BAB7D.7070805@intel.com>
On Thu, Feb 08, 2018 at 09:44:29AM +0800, Wei Wang wrote:
> On 02/08/2018 02:34 AM, Michael S. Tsirkin wrote:
> > On Wed, Feb 07, 2018 at 02:54:30PM +0800, Wei Wang wrote:
> > > In some usages, e.g. virtio-balloon, a kernel module needs to know if
> > > page poisoning is in use. This patch exposes the page_poisoning_enabled
> > > function to kernel modules.
> > >
> > > Signed-off-by: Wei Wang <wei.w.wang@intel.com>
> > > Cc: Andrew Morton <akpm@linux-foundation.org>
> > > Cc: Michal Hocko <mhocko@kernel.org>
> > > Cc: Michael S. Tsirkin <mst@redhat.com>
> > > ---
> > > mm/page_poison.c | 6 ++++++
> > > 1 file changed, 6 insertions(+)
> > >
> > > diff --git a/mm/page_poison.c b/mm/page_poison.c
> > > index e83fd44..c08d02a 100644
> > > --- a/mm/page_poison.c
> > > +++ b/mm/page_poison.c
> > > @@ -30,6 +30,11 @@ bool page_poisoning_enabled(void)
> > > debug_pagealloc_enabled()));
> > > }
> > > +/**
> > > + * page_poisoning_enabled - check if page poisoning is enabled
> > > + *
> > > + * Return true if page poisoning is enabled, or false if not.
> > > + */
> > > static void poison_page(struct page *page)
> > > {
> > > void *addr = kmap_atomic(page);
> > > @@ -37,6 +42,7 @@ static void poison_page(struct page *page)
> > > memset(addr, PAGE_POISON, PAGE_SIZE);
> > > kunmap_atomic(addr);
> > > }
> > > +EXPORT_SYMBOL_GPL(page_poisoning_enabled);
> > > static void poison_pages(struct page *page, int n)
> > > {
> > Looks like both the comment and the export are in the wrong place.
>
> Thanks. Will be more careful.
>
> > I'm a bit concerned that callers also in fact poke at the
> > PAGE_POISON - exporting that seems to be more of an accident
> > as it's only used without page_poisoning.c - it might be
> > better to have page_poisoning_enabled get u8 * and set it.
> >
>
> PAGE_POISON is a macro defined in the header, why would callers using it be
> a concern?
It might be a good idea to move it out of there though.
> Do you suggest to have:
>
> bool page_poisoning_get(u8 *val)
> {
> if (page_poisoning_enabled()) {
> *val = PAGE_POISON;
> return true;
> }
>
> return false;
> }
> EXPORT_SYMBOL_GPL(page_poisoning_get);
>
>
> Best,
> Wei
Something like this, yes.
--
MST
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Wei Wang <wei.w.wang@intel.com>
Cc: virtio-dev@lists.oasis-open.org, linux-kernel@vger.kernel.org,
virtualization@lists.linux-foundation.org, kvm@vger.kernel.org,
linux-mm@kvack.org, mhocko@kernel.org, akpm@linux-foundation.org,
pbonzini@redhat.com, liliang.opensource@gmail.com,
yang.zhang.wz@gmail.com, quan.xu0@gmail.com, nilal@redhat.com,
riel@redhat.com, huangzhichao@huawei.com
Subject: Re: [PATCH v27 3/4] mm/page_poison: expose page_poisoning_enabled to kernel modules
Date: Thu, 8 Feb 2018 05:04:43 +0200 [thread overview]
Message-ID: <20180208050337-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <5A7BAB7D.7070805@intel.com>
On Thu, Feb 08, 2018 at 09:44:29AM +0800, Wei Wang wrote:
> On 02/08/2018 02:34 AM, Michael S. Tsirkin wrote:
> > On Wed, Feb 07, 2018 at 02:54:30PM +0800, Wei Wang wrote:
> > > In some usages, e.g. virtio-balloon, a kernel module needs to know if
> > > page poisoning is in use. This patch exposes the page_poisoning_enabled
> > > function to kernel modules.
> > >
> > > Signed-off-by: Wei Wang <wei.w.wang@intel.com>
> > > Cc: Andrew Morton <akpm@linux-foundation.org>
> > > Cc: Michal Hocko <mhocko@kernel.org>
> > > Cc: Michael S. Tsirkin <mst@redhat.com>
> > > ---
> > > mm/page_poison.c | 6 ++++++
> > > 1 file changed, 6 insertions(+)
> > >
> > > diff --git a/mm/page_poison.c b/mm/page_poison.c
> > > index e83fd44..c08d02a 100644
> > > --- a/mm/page_poison.c
> > > +++ b/mm/page_poison.c
> > > @@ -30,6 +30,11 @@ bool page_poisoning_enabled(void)
> > > debug_pagealloc_enabled()));
> > > }
> > > +/**
> > > + * page_poisoning_enabled - check if page poisoning is enabled
> > > + *
> > > + * Return true if page poisoning is enabled, or false if not.
> > > + */
> > > static void poison_page(struct page *page)
> > > {
> > > void *addr = kmap_atomic(page);
> > > @@ -37,6 +42,7 @@ static void poison_page(struct page *page)
> > > memset(addr, PAGE_POISON, PAGE_SIZE);
> > > kunmap_atomic(addr);
> > > }
> > > +EXPORT_SYMBOL_GPL(page_poisoning_enabled);
> > > static void poison_pages(struct page *page, int n)
> > > {
> > Looks like both the comment and the export are in the wrong place.
>
> Thanks. Will be more careful.
>
> > I'm a bit concerned that callers also in fact poke at the
> > PAGE_POISON - exporting that seems to be more of an accident
> > as it's only used without page_poisoning.c - it might be
> > better to have page_poisoning_enabled get u8 * and set it.
> >
>
> PAGE_POISON is a macro defined in the header, why would callers using it be
> a concern?
It might be a good idea to move it out of there though.
> Do you suggest to have:
>
> bool page_poisoning_get(u8 *val)
> {
> if (page_poisoning_enabled()) {
> *val = PAGE_POISON;
> return true;
> }
>
> return false;
> }
> EXPORT_SYMBOL_GPL(page_poisoning_get);
>
>
> Best,
> Wei
Something like this, yes.
--
MST
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Wei Wang <wei.w.wang@intel.com>
Cc: virtio-dev@lists.oasis-open.org, linux-kernel@vger.kernel.org,
virtualization@lists.linux-foundation.org, kvm@vger.kernel.org,
linux-mm@kvack.org, mhocko@kernel.org, akpm@linux-foundation.org,
pbonzini@redhat.com, liliang.opensource@gmail.com,
yang.zhang.wz@gmail.com, quan.xu0@gmail.com, nilal@redhat.com,
riel@redhat.com, huangzhichao@huawei.com
Subject: Re: [PATCH v27 3/4] mm/page_poison: expose page_poisoning_enabled to kernel modules
Date: Thu, 8 Feb 2018 05:04:43 +0200 [thread overview]
Message-ID: <20180208050337-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <5A7BAB7D.7070805@intel.com>
On Thu, Feb 08, 2018 at 09:44:29AM +0800, Wei Wang wrote:
> On 02/08/2018 02:34 AM, Michael S. Tsirkin wrote:
> > On Wed, Feb 07, 2018 at 02:54:30PM +0800, Wei Wang wrote:
> > > In some usages, e.g. virtio-balloon, a kernel module needs to know if
> > > page poisoning is in use. This patch exposes the page_poisoning_enabled
> > > function to kernel modules.
> > >
> > > Signed-off-by: Wei Wang <wei.w.wang@intel.com>
> > > Cc: Andrew Morton <akpm@linux-foundation.org>
> > > Cc: Michal Hocko <mhocko@kernel.org>
> > > Cc: Michael S. Tsirkin <mst@redhat.com>
> > > ---
> > > mm/page_poison.c | 6 ++++++
> > > 1 file changed, 6 insertions(+)
> > >
> > > diff --git a/mm/page_poison.c b/mm/page_poison.c
> > > index e83fd44..c08d02a 100644
> > > --- a/mm/page_poison.c
> > > +++ b/mm/page_poison.c
> > > @@ -30,6 +30,11 @@ bool page_poisoning_enabled(void)
> > > debug_pagealloc_enabled()));
> > > }
> > > +/**
> > > + * page_poisoning_enabled - check if page poisoning is enabled
> > > + *
> > > + * Return true if page poisoning is enabled, or false if not.
> > > + */
> > > static void poison_page(struct page *page)
> > > {
> > > void *addr = kmap_atomic(page);
> > > @@ -37,6 +42,7 @@ static void poison_page(struct page *page)
> > > memset(addr, PAGE_POISON, PAGE_SIZE);
> > > kunmap_atomic(addr);
> > > }
> > > +EXPORT_SYMBOL_GPL(page_poisoning_enabled);
> > > static void poison_pages(struct page *page, int n)
> > > {
> > Looks like both the comment and the export are in the wrong place.
>
> Thanks. Will be more careful.
>
> > I'm a bit concerned that callers also in fact poke at the
> > PAGE_POISON - exporting that seems to be more of an accident
> > as it's only used without page_poisoning.c - it might be
> > better to have page_poisoning_enabled get u8 * and set it.
> >
>
> PAGE_POISON is a macro defined in the header, why would callers using it be
> a concern?
It might be a good idea to move it out of there though.
> Do you suggest to have:
>
> bool page_poisoning_get(u8 *val)
> {
> if (page_poisoning_enabled()) {
> *val = PAGE_POISON;
> return true;
> }
>
> return false;
> }
> EXPORT_SYMBOL_GPL(page_poisoning_get);
>
>
> Best,
> Wei
Something like this, yes.
--
MST
next prev parent reply other threads:[~2018-02-08 3:04 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-07 6:54 [virtio-dev] [PATCH v27 0/4] Virtio-balloon: support free page reporting Wei Wang
2018-02-07 6:54 ` Wei Wang
2018-02-07 6:54 ` Wei Wang
2018-02-07 6:54 ` [virtio-dev] [PATCH v27 1/4] mm: support reporting free page blocks Wei Wang
2018-02-07 6:54 ` Wei Wang
2018-02-07 6:54 ` Wei Wang
2018-02-07 6:54 ` Wei Wang
2018-02-07 6:54 ` [PATCH v27 2/4] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT Wei Wang
2018-02-07 6:54 ` [virtio-dev] " Wei Wang
2018-02-07 6:54 ` Wei Wang
2018-02-07 6:54 ` Wei Wang
2018-02-07 6:54 ` [PATCH v27 3/4] mm/page_poison: expose page_poisoning_enabled to kernel modules Wei Wang
2018-02-07 6:54 ` [virtio-dev] " Wei Wang
2018-02-07 6:54 ` Wei Wang
2018-02-07 6:54 ` Wei Wang
2018-02-07 18:34 ` Michael S. Tsirkin
2018-02-07 18:34 ` [virtio-dev] " Michael S. Tsirkin
2018-02-07 18:34 ` Michael S. Tsirkin
2018-02-07 18:34 ` Michael S. Tsirkin
2018-02-08 1:44 ` Wei Wang
2018-02-08 1:44 ` [virtio-dev] " Wei Wang
2018-02-08 1:44 ` Wei Wang
2018-02-08 1:44 ` Wei Wang
2018-02-08 3:04 ` Michael S. Tsirkin
2018-02-08 3:04 ` Michael S. Tsirkin [this message]
2018-02-08 3:04 ` Michael S. Tsirkin
2018-02-08 3:04 ` Michael S. Tsirkin
2018-02-07 6:54 ` [virtio-dev] [PATCH v27 4/4] virtio-balloon: VIRTIO_BALLOON_F_PAGE_POISON Wei Wang
2018-02-07 6:54 ` Wei Wang
2018-02-07 6:54 ` Wei Wang
2018-02-07 6:54 ` Wei Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180208050337-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=huangzhichao@huawei.com \
--cc=kvm@vger.kernel.org \
--cc=liliang.opensource@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@kernel.org \
--cc=nilal@redhat.com \
--cc=pbonzini@redhat.com \
--cc=quan.xu0@gmail.com \
--cc=riel@redhat.com \
--cc=virtio-dev@lists.oasis-open.org \
--cc=virtualization@lists.linux-foundation.org \
--cc=wei.w.wang@intel.com \
--cc=yang.zhang.wz@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.