Re: [PATCH v2 4/4] mm: Generalize putback scan functions

From: Kirill Tkhai
Date: Mon Feb 18 2019 - 03:20:42 EST




On 16.02.2019 01:13, Daniel Jordan wrote:
> On Fri, Feb 15, 2019 at 10:01:05PM +0000, Kirill Tkhai wrote:
>> On 15.02.2019 23:39, Daniel Jordan wrote:
>>> On Thu, Feb 14, 2019 at 01:35:37PM +0300, Kirill Tkhai wrote:
>>>> +static unsigned noinline_for_stack move_pages_to_lru(struct lruvec *lruvec,
>>>> + struct list_head *list)
>>>> {
>>>> struct pglist_data *pgdat = lruvec_pgdat(lruvec);
>>>> + int nr_pages, nr_moved = 0;
>>>> LIST_HEAD(pages_to_free);
>>>> + struct page *page;
>>>> + enum lru_list lru;
>>>>
>>>> - /*
>>>> - * Put back any unfreeable pages.
>>>> - */
>>>> - while (!list_empty(page_list)) {
>>>> - struct page *page = lru_to_page(page_list);
>>>> - int lru;
>>>> -
>>>> + while (!list_empty(list)) {
>>>> + page = lru_to_page(list);
>>>> VM_BUG_ON_PAGE(PageLRU(page), page);
>>>> - list_del(&page->lru);
>>>> if (unlikely(!page_evictable(page))) {
>>>> + list_del_init(&page->lru);
>>>
>>> Why change to list_del_init? It's more special than list_del but doesn't seem
>>> needed since the page is list_add()ed later.
>>
>> Not something special is here, I'll remove this _init.
>>
>>> That postprocess script from patch 1 seems kinda broken before this series, and
>>> still is. Not that it should block this change. Out of curiosity did you get
>>> it to run?
>>
>> I fixed all new warnings, which come with my changes, so the patch does not make
>> the script worse.
>>
>> If you change all already existing warnings by renaming variables in appropriate
>> places, the script will work in some way. But I'm not sure this is enough to get
>> results correct, and I have no a big wish to dive into perl to fix warnings
>> introduced by another people, so I don't plan to do with this script something else.
>
> Ok, was asking in case I was doing something wrong.
>
> With the above change, for the series, you can add
>
> Reviewed-by: Daniel Jordan <daniel.m.jordan@xxxxxxxxxx>

Ok, thanks.