[virtio-dev] [PATCH v9 7/8] virtio-balloon: Pull page poisoning config out of free page hinting

2019-09-07 Thread Alexander Duyck
From: Alexander Duyck Currently the page poisoning setting wasn't being enabled unless free page hinting was enabled. However we will need the page poisoning tracking logic as well for unused page reporting. As such pull it out and make it a separate bit of config in the probe function. In

[virtio-dev] [PATCH v9 8/8] virtio-balloon: Add support for providing unused page reports to host

2019-09-07 Thread Alexander Duyck
From: Alexander Duyck Add support for the page reporting feature provided by virtio-balloon. Reporting differs from the regular balloon functionality in that is is much less durable than a standard memory balloon. Instead of creating a list of pages that cannot be accessed the pages are only

[virtio-dev] [PATCH v9 4/8] mm: Use zone and order instead of free area in free_list manipulators

2019-09-07 Thread Alexander Duyck
From: Alexander Duyck In order to enable the use of the zone from the list manipulator functions I will need access to the zone pointer. As it turns out most of the accessors were always just being directly passed >free_area[order] anyway so it would make sense to just fold that into the

[virtio-dev] [PATCH v9 2/8] mm: Adjust shuffle code to allow for future coalescing

2019-09-07 Thread Alexander Duyck
From: Alexander Duyck Move the head/tail adding logic out of the shuffle code and into the __free_one_page function since ultimately that is where it is really needed anyway. By doing this we should be able to reduce the overhead and can consolidate all of the list addition bits in one spot.

[virtio-dev] [PATCH v9 3/8] mm: Move set/get_pcppage_migratetype to mmzone.h

2019-09-07 Thread Alexander Duyck
From: Alexander Duyck In order to support page reporting it will be necessary to store and retrieve the migratetype of a page. To enable that I am moving the set and get operations for pcppage_migratetype into the mm/internal.h header so that they can be used outside of the page_alloc.c file.

[virtio-dev] [PATCH v9 0/8] stg mail -e --version=v9 \

2019-09-07 Thread Alexander Duyck
--to=k...@vger.kernel.org \ --to=linux-ker...@vger.kernel.org \ --to=linux...@kvack.org \ --to=virtio-dev@lists.oasis-open.org \ --to=linux-arm-ker...@lists.infradead.org \ --to=m...@redhat.com \ --to=da...@redhat.com \ --to=dave.han...@intel.com \ --to=a...@linux-foundation.org \

[virtio-dev] [PATCH v9 5/8] arm64: Move hugetlb related definitions out of pgtable.h to page-defs.h

2019-09-07 Thread Alexander Duyck
From: Alexander Duyck Move the static definition for things such as HUGETLB_PAGE_ORDER out of asm/pgtable.h and place it in page-defs.h. By doing this the includes become much easier to deal with as currently arm64 is the only architecture that didn't include this definition in the asm/page.h

[virtio-dev] [PATCH v9 1/8] mm: Add per-cpu logic to page shuffling

2019-09-07 Thread Alexander Duyck
From: Alexander Duyck Change the logic used to generate randomness in the suffle path so that we can avoid cache line bouncing. The previous logic was sharing the offset and entropy word between all CPUs. As such this can result in cache line bouncing and will ultimately hurt performance when

[virtio-dev] Re: [PATCH v9 0/8] mm / virtio: Provide support for unused page reporting

2019-09-07 Thread Alexander Duyck
Sorry about that. Looks like I fat fingered things and copied the command line into the cover page. I corrected the subject here, and pulled the command line out of the message below. - Alex On Sat, Sep 7, 2019 at 10:25 AM Alexander Duyck wrote: > This series provides an asynchronous means of

[virtio-dev] [PATCH v9 6/8] mm: Introduce Reported pages

2019-09-07 Thread Alexander Duyck
From: Alexander Duyck In order to pave the way for free page reporting in virtualized environments we will need a way to get pages out of the free lists and identify those pages after they have been returned. To accomplish this, this patch adds the concept of a Reported Buddy, which is