All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Kirill A. Shutemov" <kirill@shutemov.name>
To: Alexander Duyck <alexander.h.duyck@linux.intel.com>
Cc: Alexander Duyck <alexander.duyck@gmail.com>,
	virtio-dev@lists.oasis-open.org, kvm@vger.kernel.org,
	mst@redhat.com, catalin.marinas@arm.com, david@redhat.com,
	dave.hansen@intel.com, linux-kernel@vger.kernel.org,
	willy@infradead.org, mhocko@kernel.org, linux-mm@kvack.org,
	akpm@linux-foundation.org, will@kernel.org,
	linux-arm-kernel@lists.infradead.org, osalvador@suse.de,
	yang.zhang.wz@gmail.com, pagupta@redhat.com,
	konrad.wilk@oracle.com, nitesh@redhat.com, riel@surriel.com,
	lcapitulino@redhat.com, wei.w.wang@intel.com,
	aarcange@redhat.com, ying.huang@intel.com, pbonzini@redhat.com,
	dan.j.williams@intel.com, fengguang.wu@intel.com,
	kirill.shutemov@linux.intel.com
Subject: Re: [PATCH v9 6/8] mm: Introduce Reported pages
Date: Mon, 9 Sep 2019 19:33:55 +0300	[thread overview]
Message-ID: <20190909163355.zueprine5zqwexi4@box> (raw)
In-Reply-To: <acfe9744deaede8f8c4fa4f40a04514d9f843259.camel@linux.intel.com>

On Mon, Sep 09, 2019 at 09:25:04AM -0700, Alexander Duyck wrote:
> > Proper description for the config option?
> 
> I can add one. However the feature doesn't do anything without a caller
> that makes use of it. I guess it would make sense to enable this for
> something such as an out-of-tree module to later use.

Description under 'help' section will not make the option user selectable
if you leave 'bool' without description.

> > > +	mutex_lock(&page_reporting_mutex);
> > > +
> > > +	/* nothing to do if already in use */
> > > +	if (rcu_access_pointer(ph_dev_info)) {
> > > +		err = -EBUSY;
> > > +		goto err_out;
> > > +	}
> > 
> > Again, it's from "something went horribly wrong" category.
> > Maybe WARN_ON()?
> 
> That one I am not so sure about. Right now we only have one user for the
> page reporting interface. My concern is if we ever have more than one we
> may experience collisions. The device driver requesting this should
> display an error message if it is not able tor register the interface.

Fair enough.

> > > +	boundary = kcalloc(MAX_ORDER - PAGE_REPORTING_MIN_ORDER,
> > > +			   sizeof(struct list_head *) * MIGRATE_TYPES,
> > > +			   GFP_KERNEL);
> > 
> > Could you comment here on why this size of array is allocated?
> > The calculation is not obvious to a reader.
> 
> Would something like the following work for you?
>         /*
>          * Allocate space to store the boundaries for the zone we are
>          * actively reporting on. We will need to store one boundary
>          * pointer per migratetype, and then we need to have one of these
>          * arrays per order for orders greater than or equal to
>          * PAGE_REPORTING_MIN_ORDER.
>          */

Ack.

-- 
 Kirill A. Shutemov

WARNING: multiple messages have this Message-ID (diff)
From: "Kirill A. Shutemov" <kirill@shutemov.name>
To: Alexander Duyck <alexander.h.duyck@linux.intel.com>
Cc: yang.zhang.wz@gmail.com, pagupta@redhat.com, kvm@vger.kernel.org,
	david@redhat.com, catalin.marinas@arm.com,
	Alexander Duyck <alexander.duyck@gmail.com>,
	mhocko@kernel.org, linux-mm@kvack.org, will@kernel.org,
	aarcange@redhat.com, virtio-dev@lists.oasis-open.org,
	mst@redhat.com, willy@infradead.org, wei.w.wang@intel.com,
	ying.huang@intel.com, riel@surriel.com, dan.j.williams@intel.com,
	lcapitulino@redhat.com, linux-arm-kernel@lists.infradead.org,
	osalvador@suse.de, nitesh@redhat.com, konrad.wilk@oracle.com,
	dave.hansen@intel.com, linux-kernel@vger.kernel.org,
	pbonzini@redhat.com, akpm@linux-foundation.org,
	fengguang.wu@intel.com, kirill.shutemov@linux.intel.com
Subject: Re: [PATCH v9 6/8] mm: Introduce Reported pages
Date: Mon, 9 Sep 2019 19:33:55 +0300	[thread overview]
Message-ID: <20190909163355.zueprine5zqwexi4@box> (raw)
In-Reply-To: <acfe9744deaede8f8c4fa4f40a04514d9f843259.camel@linux.intel.com>

On Mon, Sep 09, 2019 at 09:25:04AM -0700, Alexander Duyck wrote:
> > Proper description for the config option?
> 
> I can add one. However the feature doesn't do anything without a caller
> that makes use of it. I guess it would make sense to enable this for
> something such as an out-of-tree module to later use.

Description under 'help' section will not make the option user selectable
if you leave 'bool' without description.

> > > +	mutex_lock(&page_reporting_mutex);
> > > +
> > > +	/* nothing to do if already in use */
> > > +	if (rcu_access_pointer(ph_dev_info)) {
> > > +		err = -EBUSY;
> > > +		goto err_out;
> > > +	}
> > 
> > Again, it's from "something went horribly wrong" category.
> > Maybe WARN_ON()?
> 
> That one I am not so sure about. Right now we only have one user for the
> page reporting interface. My concern is if we ever have more than one we
> may experience collisions. The device driver requesting this should
> display an error message if it is not able tor register the interface.

Fair enough.

> > > +	boundary = kcalloc(MAX_ORDER - PAGE_REPORTING_MIN_ORDER,
> > > +			   sizeof(struct list_head *) * MIGRATE_TYPES,
> > > +			   GFP_KERNEL);
> > 
> > Could you comment here on why this size of array is allocated?
> > The calculation is not obvious to a reader.
> 
> Would something like the following work for you?
>         /*
>          * Allocate space to store the boundaries for the zone we are
>          * actively reporting on. We will need to store one boundary
>          * pointer per migratetype, and then we need to have one of these
>          * arrays per order for orders greater than or equal to
>          * PAGE_REPORTING_MIN_ORDER.
>          */

Ack.

-- 
 Kirill A. Shutemov

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-09-09 16:34 UTC|newest]

Thread overview: 241+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-07 17:25 [PATCH v9 0/8] stg mail -e --version=v9 \ Alexander Duyck
2019-09-07 17:25 ` [virtio-dev] " Alexander Duyck
2019-09-07 17:25 ` Alexander Duyck
2019-09-07 17:25 ` [PATCH v9 1/8] mm: Add per-cpu logic to page shuffling Alexander Duyck
2019-09-07 17:25   ` [virtio-dev] " Alexander Duyck
2019-09-07 17:25   ` Alexander Duyck
2019-09-09  8:14   ` David Hildenbrand
2019-09-09  8:14     ` [virtio-dev] " David Hildenbrand
2019-09-09  8:14     ` David Hildenbrand
2019-09-09 15:11     ` Alexander Duyck
2019-09-09 15:11       ` [virtio-dev] " Alexander Duyck
2019-09-09 15:11       ` Alexander Duyck
2019-09-09 15:11       ` Alexander Duyck
2019-09-10 12:11       ` Michal Hocko
2019-09-10 12:11         ` Michal Hocko
2019-09-10 22:14         ` Alexander Duyck
2019-09-10 22:14           ` [virtio-dev] " Alexander Duyck
2019-09-10 22:14           ` Alexander Duyck
2019-09-10 22:14           ` Alexander Duyck
2019-09-10 22:11     ` Alexander Duyck
2019-09-10 22:11       ` [virtio-dev] " Alexander Duyck
2019-09-10 22:11       ` Alexander Duyck
2019-09-10 22:11       ` Alexander Duyck
2019-09-09  9:07   ` Kirill A. Shutemov
2019-09-09  9:07     ` Kirill A. Shutemov
2019-09-09 15:12     ` Alexander Duyck
2019-09-09 15:12       ` [virtio-dev] " Alexander Duyck
2019-09-09 15:12       ` Alexander Duyck
2019-09-09 15:12       ` Alexander Duyck
2019-09-07 17:25 ` [PATCH v9 2/8] mm: Adjust shuffle code to allow for future coalescing Alexander Duyck
2019-09-07 17:25   ` [virtio-dev] " Alexander Duyck
2019-09-07 17:25   ` Alexander Duyck
2019-09-09  8:19   ` David Hildenbrand
2019-09-09  8:19     ` [virtio-dev] " David Hildenbrand
2019-09-09  8:19     ` David Hildenbrand
2019-09-09  9:47   ` Kirill A. Shutemov
2019-09-09  9:47     ` Kirill A. Shutemov
2019-09-09 15:22     ` Alexander Duyck
2019-09-09 15:22       ` [virtio-dev] " Alexander Duyck
2019-09-09 15:22       ` Alexander Duyck
2019-09-09 15:22       ` Alexander Duyck
2019-09-09 15:35       ` Kirill A. Shutemov
2019-09-09 15:35         ` Kirill A. Shutemov
2019-09-09 15:37         ` Alexander Duyck
2019-09-09 15:37           ` [virtio-dev] " Alexander Duyck
2019-09-09 15:37           ` Alexander Duyck
2019-09-09 15:37           ` Alexander Duyck
2019-09-09 16:43     ` Alexander Duyck
2019-09-09 16:43       ` [virtio-dev] " Alexander Duyck
2019-09-09 16:43       ` Alexander Duyck
2019-09-09 16:43       ` Alexander Duyck
2019-09-09 17:00       ` Kirill A. Shutemov
2019-09-09 17:00         ` Kirill A. Shutemov
2019-09-10 12:20   ` Michal Hocko
2019-09-10 12:20     ` Michal Hocko
2019-09-10 14:48     ` Alexander Duyck
2019-09-10 14:48       ` [virtio-dev] " Alexander Duyck
2019-09-10 14:48       ` Alexander Duyck
2019-09-10 14:48       ` Alexander Duyck
2019-09-07 17:25 ` [PATCH v9 3/8] mm: Move set/get_pcppage_migratetype to mmzone.h Alexander Duyck
2019-09-07 17:25   ` [virtio-dev] " Alexander Duyck
2019-09-07 17:25   ` Alexander Duyck
2019-09-09  8:22   ` David Hildenbrand
2019-09-09  8:22     ` [virtio-dev] " David Hildenbrand
2019-09-09  8:22     ` David Hildenbrand
2019-09-09  9:56   ` Kirill A. Shutemov
2019-09-09  9:56     ` Kirill A. Shutemov
2019-09-09 18:01     ` Alexander Duyck
2019-09-09 18:01       ` [virtio-dev] " Alexander Duyck
2019-09-09 18:01       ` Alexander Duyck
2019-09-09 18:01       ` Alexander Duyck
2019-09-09 18:12       ` Alexander Duyck
2019-09-09 18:12         ` [virtio-dev] " Alexander Duyck
2019-09-09 18:12         ` Alexander Duyck
2019-09-09 18:12         ` Alexander Duyck
2019-09-10 12:23   ` Michal Hocko
2019-09-10 12:23     ` Michal Hocko
2019-09-10 14:46     ` Alexander Duyck
2019-09-10 14:46       ` [virtio-dev] " Alexander Duyck
2019-09-10 14:46       ` Alexander Duyck
2019-09-10 14:46       ` Alexander Duyck
2019-09-10 17:45       ` Michal Hocko
2019-09-10 17:45         ` Michal Hocko
2019-09-10 20:26         ` Alexander Duyck
2019-09-10 20:26           ` [virtio-dev] " Alexander Duyck
2019-09-10 20:26           ` Alexander Duyck
2019-09-10 20:26           ` Alexander Duyck
2019-09-07 17:25 ` [PATCH v9 4/8] mm: Use zone and order instead of free area in free_list manipulators Alexander Duyck
2019-09-07 17:25   ` [virtio-dev] " Alexander Duyck
2019-09-07 17:25   ` Alexander Duyck
2019-09-10 12:27   ` Michal Hocko
2019-09-10 12:27     ` Michal Hocko
2019-09-07 17:25 ` [PATCH v9 5/8] arm64: Move hugetlb related definitions out of pgtable.h to page-defs.h Alexander Duyck
2019-09-07 17:25   ` [virtio-dev] " Alexander Duyck
2019-09-07 17:25   ` Alexander Duyck
2019-09-09  8:52   ` David Hildenbrand
2019-09-09  8:52     ` [virtio-dev] " David Hildenbrand
2019-09-09  8:52     ` David Hildenbrand
2019-09-09 15:27     ` Alexander Duyck
2019-09-09 15:27       ` [virtio-dev] " Alexander Duyck
2019-09-09 15:27       ` Alexander Duyck
2019-09-09 15:27       ` Alexander Duyck
2019-09-17 17:48   ` Will Deacon
2019-09-17 17:48     ` Will Deacon
2019-09-17 20:07     ` Alexander Duyck
2019-09-17 20:07       ` [virtio-dev] " Alexander Duyck
2019-09-17 20:07       ` Alexander Duyck
2019-09-17 20:07       ` Alexander Duyck
2019-09-07 17:25 ` [PATCH v9 6/8] mm: Introduce Reported pages Alexander Duyck
2019-09-07 17:25   ` [virtio-dev] " Alexander Duyck
2019-09-07 17:25   ` Alexander Duyck
2019-09-09 14:42   ` Kirill A. Shutemov
2019-09-09 14:42     ` Kirill A. Shutemov
2019-09-09 16:25     ` Alexander Duyck
2019-09-09 16:25       ` [virtio-dev] " Alexander Duyck
2019-09-09 16:25       ` Alexander Duyck
2019-09-09 16:25       ` Alexander Duyck
2019-09-09 16:33       ` Kirill A. Shutemov [this message]
2019-09-09 16:33         ` Kirill A. Shutemov
2019-09-07 17:26 ` [PATCH v9 7/8] virtio-balloon: Pull page poisoning config out of free page hinting Alexander Duyck
2019-09-07 17:26   ` [virtio-dev] " Alexander Duyck
2019-09-07 17:26   ` Alexander Duyck
2019-09-09  8:59   ` David Hildenbrand
2019-09-09  8:59     ` [virtio-dev] " David Hildenbrand
2019-09-09  8:59     ` David Hildenbrand
2019-09-09 15:31     ` Alexander Duyck
2019-09-09 15:31       ` [virtio-dev] " Alexander Duyck
2019-09-09 15:31       ` Alexander Duyck
2019-09-09 15:31       ` Alexander Duyck
2019-09-07 17:26 ` [PATCH v9 8/8] virtio-balloon: Add support for providing unused page reports to host Alexander Duyck
2019-09-07 17:26   ` [virtio-dev] " Alexander Duyck
2019-09-07 17:26   ` Alexander Duyck
2019-09-07 17:34 ` [PATCH v9 0/8] mm / virtio: Provide support for unused page reporting Alexander Duyck
2019-09-07 17:34   ` [virtio-dev] " Alexander Duyck
2019-09-07 17:34   ` Alexander Duyck
2019-09-07 17:34   ` Alexander Duyck
2019-09-10 12:42 ` [PATCH v9 0/8] stg mail -e --version=v9 \ Michal Hocko
2019-09-10 12:42   ` Michal Hocko
2019-09-10 14:42   ` Alexander Duyck
2019-09-10 14:42     ` [virtio-dev] " Alexander Duyck
2019-09-10 14:42     ` Alexander Duyck
2019-09-10 14:42     ` Alexander Duyck
2019-09-10 14:47     ` Michal Hocko
2019-09-10 14:47       ` Michal Hocko
2019-09-10 16:05       ` Alexander Duyck
2019-09-10 16:05         ` [virtio-dev] " Alexander Duyck
2019-09-10 16:05         ` Alexander Duyck
2019-09-10 16:05         ` Alexander Duyck
2019-09-10 16:18         ` [virtio-dev] " Dr. David Alan Gilbert
2019-09-10 16:18           ` Dr. David Alan Gilbert
2019-09-10 16:18           ` Dr. David Alan Gilbert
2019-09-10 16:22           ` David Hildenbrand
2019-09-10 16:22             ` David Hildenbrand
2019-09-10 16:22             ` David Hildenbrand
2019-09-11  9:23             ` Michael S. Tsirkin
2019-09-11  9:23               ` Michael S. Tsirkin
2019-09-11  9:23               ` Michael S. Tsirkin
2019-09-11  9:50               ` David Hildenbrand
2019-09-11  9:50                 ` David Hildenbrand
2019-09-11  9:50                 ` David Hildenbrand
2019-09-10 17:52         ` Michal Hocko
2019-09-10 17:52           ` Michal Hocko
2019-09-10 18:00           ` Michal Hocko
2019-09-10 18:00             ` Michal Hocko
2019-09-10 20:37             ` Alexander Duyck
2019-09-10 20:37               ` [virtio-dev] " Alexander Duyck
2019-09-10 20:37               ` Alexander Duyck
2019-09-10 20:37               ` Alexander Duyck
2019-09-10 21:23           ` Alexander Duyck
2019-09-10 21:23             ` [virtio-dev] " Alexander Duyck
2019-09-10 21:23             ` Alexander Duyck
2019-09-10 21:23             ` Alexander Duyck
2019-09-11 11:36             ` Michal Hocko
2019-09-11 11:36               ` Michal Hocko
2019-09-11 11:47               ` David Hildenbrand
2019-09-11 11:47                 ` [virtio-dev] " David Hildenbrand
2019-09-11 11:47                 ` David Hildenbrand
2019-09-11 12:08               ` Michael S. Tsirkin
2019-09-11 12:08                 ` [virtio-dev] " Michael S. Tsirkin
2019-09-11 12:08                 ` Michael S. Tsirkin
2019-09-11 12:19                 ` Michal Hocko
2019-09-11 12:19                   ` Michal Hocko
2019-09-11 12:25                   ` Michal Hocko
2019-09-11 12:25                     ` Michal Hocko
2019-09-11 12:42                     ` David Hildenbrand
2019-09-11 12:42                       ` [virtio-dev] " David Hildenbrand
2019-09-11 12:42                       ` David Hildenbrand
2019-09-11 12:54                       ` Michal Hocko
2019-09-11 12:54                         ` Michal Hocko
2019-09-11 13:03                         ` David Hildenbrand
2019-09-11 13:03                           ` [virtio-dev] " David Hildenbrand
2019-09-11 13:03                           ` David Hildenbrand
2019-09-11 13:20                           ` Michal Hocko
2019-09-11 13:20                             ` Michal Hocko
2019-09-11 13:51                             ` Michal Hocko
2019-09-11 13:51                               ` Michal Hocko
2019-09-11 16:09                               ` David Hildenbrand
2019-09-11 16:09                                 ` [virtio-dev] " David Hildenbrand
2019-09-11 16:09                                 ` David Hildenbrand
2019-09-12  7:16                                 ` Michal Hocko
2019-09-12  7:16                                   ` Michal Hocko
2019-09-12  7:47                                   ` David Hildenbrand
2019-09-12  7:47                                     ` [virtio-dev] " David Hildenbrand
2019-09-12  7:47                                     ` David Hildenbrand
2019-09-12  9:26                                     ` Michal Hocko
2019-09-12  9:26                                       ` Michal Hocko
2019-09-12 12:00                                     ` Nitesh Narayan Lal
2019-09-12 12:00                                       ` [virtio-dev] " Nitesh Narayan Lal
2019-09-12 12:00                                       ` Nitesh Narayan Lal
2019-09-11 14:03                             ` Nitesh Narayan Lal
2019-09-11 14:03                               ` [virtio-dev] " Nitesh Narayan Lal
2019-09-11 14:03                               ` Nitesh Narayan Lal
2019-09-11 16:02                             ` David Hildenbrand
2019-09-11 16:02                               ` [virtio-dev] " David Hildenbrand
2019-09-11 16:02                               ` David Hildenbrand
2019-09-11 13:19                         ` Nitesh Narayan Lal
2019-09-11 13:19                           ` [virtio-dev] " Nitesh Narayan Lal
2019-09-11 13:19                           ` Nitesh Narayan Lal
2019-09-11 12:55                       ` Nitesh Narayan Lal
2019-09-11 12:55                         ` [virtio-dev] " Nitesh Narayan Lal
2019-09-11 12:55                         ` Nitesh Narayan Lal
2019-09-11 15:12               ` Alexander Duyck
2019-09-11 15:12                 ` [virtio-dev] " Alexander Duyck
2019-09-11 15:12                 ` Alexander Duyck
2019-09-11 15:12                 ` Alexander Duyck
2019-09-12  9:19                 ` Michal Hocko
2019-09-12  9:19                   ` Michal Hocko
2019-09-12 10:24                   ` Kirill A. Shutemov
2019-09-12 10:24                     ` Kirill A. Shutemov
2019-09-12 11:11                     ` Michal Hocko
2019-09-12 11:11                       ` Michal Hocko
2019-09-12 15:42                   ` Alexander Duyck
2019-09-12 15:42                     ` [virtio-dev] " Alexander Duyck
2019-09-12 15:42                     ` Alexander Duyck
2019-09-12 15:42                     ` Alexander Duyck
2019-09-12 16:35                   ` Mel Gorman
2019-09-12 16:35                     ` Mel Gorman
2019-09-12 17:48                     ` Alexander Duyck
2019-09-12 17:48                       ` [virtio-dev] " Alexander Duyck
2019-09-12 17:48                       ` Alexander Duyck
2019-09-12 17:48                       ` Alexander Duyck

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=20190909163355.zueprine5zqwexi4@box \
    --to=kirill@shutemov.name \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.duyck@gmail.com \
    --cc=alexander.h.duyck@linux.intel.com \
    --cc=catalin.marinas@arm.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@intel.com \
    --cc=david@redhat.com \
    --cc=fengguang.wu@intel.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=konrad.wilk@oracle.com \
    --cc=kvm@vger.kernel.org \
    --cc=lcapitulino@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@kernel.org \
    --cc=mst@redhat.com \
    --cc=nitesh@redhat.com \
    --cc=osalvador@suse.de \
    --cc=pagupta@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=riel@surriel.com \
    --cc=virtio-dev@lists.oasis-open.org \
    --cc=wei.w.wang@intel.com \
    --cc=will@kernel.org \
    --cc=willy@infradead.org \
    --cc=yang.zhang.wz@gmail.com \
    --cc=ying.huang@intel.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.