From: Michal Hocko <mhocko@kernel.org> To: Alexander Duyck <alexander.duyck@gmail.com> Cc: 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, 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, alexander.h.duyck@linux.intel.com, kirill.shutemov@linux.intel.com Subject: Re: [PATCH v9 0/8] stg mail -e --version=v9 \ Date: Tue, 10 Sep 2019 14:42:09 +0200 [thread overview] Message-ID: <20190910124209.GY2063@dhcp22.suse.cz> (raw) In-Reply-To: <20190907172225.10910.34302.stgit@localhost.localdomain> I wanted to review "mm: Introduce Reported pages" just realize that I have no clue on what is going on so returned to the cover and it didn't really help much. I am completely unfamiliar with virtio so please bear with me. On Sat 07-09-19 10:25:03, Alexander Duyck wrote: [...] > This series provides an asynchronous means of reporting to a hypervisor > that a guest page is no longer in use and can have the data associated > with it dropped. To do this I have implemented functionality that allows > for what I am referring to as unused page reporting > > The functionality for this is fairly simple. When enabled it will allocate > statistics to track the number of reported pages in a given free area. > When the number of free pages exceeds this value plus a high water value, > currently 32, it will begin performing page reporting which consists of > pulling pages off of free list and placing them into a scatter list. The > scatterlist is then given to the page reporting device and it will perform > the required action to make the pages "reported", in the case of > virtio-balloon this results in the pages being madvised as MADV_DONTNEED > and as such they are forced out of the guest. After this they are placed > back on the free list, And here I am reallly lost because "forced out of the guest" makes me feel that those pages are no longer usable by the guest. So how come you can add them back to the free list. I suspect understanding this part will allow me to understand why we have to mark those pages and prevent merging. > and an additional bit is added if they are not > merged indicating that they are a reported buddy page instead of a > standard buddy page. The cycle then repeats with additional non-reported > pages being pulled until the free areas all consist of reported pages. -- Michal Hocko SUSE Labs
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org> To: Alexander Duyck <alexander.duyck@gmail.com> Cc: yang.zhang.wz@gmail.com, pagupta@redhat.com, kvm@vger.kernel.org, david@redhat.com, catalin.marinas@arm.com, lcapitulino@redhat.com, linux-mm@kvack.org, alexander.h.duyck@linux.intel.com, 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, konrad.wilk@oracle.com, dan.j.williams@intel.com, linux-arm-kernel@lists.infradead.org, osalvador@suse.de, nitesh@redhat.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 0/8] stg mail -e --version=v9 \ Date: Tue, 10 Sep 2019 14:42:09 +0200 [thread overview] Message-ID: <20190910124209.GY2063@dhcp22.suse.cz> (raw) In-Reply-To: <20190907172225.10910.34302.stgit@localhost.localdomain> I wanted to review "mm: Introduce Reported pages" just realize that I have no clue on what is going on so returned to the cover and it didn't really help much. I am completely unfamiliar with virtio so please bear with me. On Sat 07-09-19 10:25:03, Alexander Duyck wrote: [...] > This series provides an asynchronous means of reporting to a hypervisor > that a guest page is no longer in use and can have the data associated > with it dropped. To do this I have implemented functionality that allows > for what I am referring to as unused page reporting > > The functionality for this is fairly simple. When enabled it will allocate > statistics to track the number of reported pages in a given free area. > When the number of free pages exceeds this value plus a high water value, > currently 32, it will begin performing page reporting which consists of > pulling pages off of free list and placing them into a scatter list. The > scatterlist is then given to the page reporting device and it will perform > the required action to make the pages "reported", in the case of > virtio-balloon this results in the pages being madvised as MADV_DONTNEED > and as such they are forced out of the guest. After this they are placed > back on the free list, And here I am reallly lost because "forced out of the guest" makes me feel that those pages are no longer usable by the guest. So how come you can add them back to the free list. I suspect understanding this part will allow me to understand why we have to mark those pages and prevent merging. > and an additional bit is added if they are not > merged indicating that they are a reported buddy page instead of a > standard buddy page. The cycle then repeats with additional non-reported > pages being pulled until the free areas all consist of reported pages. -- Michal Hocko SUSE Labs _______________________________________________ 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-10 12:42 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 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 ` Michal Hocko [this message] 2019-09-10 12:42 ` [PATCH v9 0/8] stg mail -e --version=v9 \ 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=20190910124209.GY2063@dhcp22.suse.cz \ --to=mhocko@kernel.org \ --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=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.