>>> Boris Ostrovsky 08/04/17 7:03 PM >>>
>+static void check_and_stop_scrub(struct page_info *head)
>+{
>+if ( head->u.free.scrub_state == BUDDY_SCRUBBING )
>+{
>+struct page_info pg;
Do you really need a full struct page_info here? I.e. can't this be
typeof(*head->u.free)? (I'm s
Instead of scrubbing pages while holding heap lock we can mark
buddy's head as being scrubbed and drop the lock temporarily.
If someone (most likely alloc_heap_pages()) tries to access
this chunk it will signal the scrubber to abort scrub by setting
head's BUDDY_SCRUB_ABORT bit. The scrubber checks