>>> On 09.06.17 at 22:55, wrote:
> On 06/09/2017 11:22 AM, Jan Beulich wrote:
> On 19.05.17 at 17:50, wrote:
>>> @@ -734,8 +735,15 @@ static struct page_info *get_free_buddy(unsigned int
>>> +if ( test_bit(_PGC_need_scrub, &pg[i].count_info) )
>>> +{
>>> +if ( nee
On 06/09/2017 11:22 AM, Jan Beulich wrote:
On 19.05.17 at 17:50, wrote:
>> @@ -734,8 +735,15 @@ static struct page_info *get_free_buddy(unsigned int
>> zone_lo,
>>
>> /* Find smallest order which can satisfy the request. */
>> for ( j = order; j <= MAX_ORDER; j++
>>> On 19.05.17 at 17:50, wrote:
> @@ -734,8 +735,15 @@ static struct page_info *get_free_buddy(unsigned int
> zone_lo,
>
> /* Find smallest order which can satisfy the request. */
> for ( j = order; j <= MAX_ORDER; j++ )
> +{
> if ( (pg =
When allocating pages in alloc_heap_pages() first look for clean pages. If none
is found then retry, take pages marked as unscrubbed and scrub them.
Note that we shouldn't find unscrubbed pages in alloc_heap_pages() yet. However,
this will become possible when we stop scrubbing from free_heap_page