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
next prev parent 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: linkBe 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.