[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <75712e67-59f1-2057-dc89-779cdf5600ee@nvidia.com>
Date: Wed, 3 Oct 2018 16:19:38 -0700
From: John Hubbard <jhubbard@...dia.com>
To: Jan Kara <jack@...e.cz>
CC: Jason Gunthorpe <jgg@...pe.ca>, <john.hubbard@...il.com>,
Matthew Wilcox <willy@...radead.org>,
Michal Hocko <mhocko@...nel.org>,
Christopher Lameter <cl@...ux.com>,
Dan Williams <dan.j.williams@...el.com>,
Al Viro <viro@...iv.linux.org.uk>, <linux-mm@...ck.org>,
LKML <linux-kernel@...r.kernel.org>,
linux-rdma <linux-rdma@...r.kernel.org>,
<linux-fsdevel@...r.kernel.org>,
Doug Ledford <dledford@...hat.com>,
Mike Marciniszyn <mike.marciniszyn@...el.com>,
Dennis Dalessandro <dennis.dalessandro@...el.com>,
Christian Benvenuti <benve@...co.com>
Subject: Re: [PATCH 3/4] infiniband/mm: convert to the new put_user_page()
call
On 10/3/18 9:27 AM, Jan Kara wrote:
> On Fri 28-09-18 20:12:33, John Hubbard wrote:
>> static inline void release_user_pages(struct page **pages,
>> - unsigned long npages)
>> + unsigned long npages,
>> + bool set_dirty)
>> {
>> - while (npages)
>> - put_user_page(pages[--npages]);
>> + if (set_dirty)
>> + release_user_pages_dirty(pages, npages);
>> + else
>> + release_user_pages_basic(pages, npages);
>> +}
>
> Is there a good reason to have this with set_dirty argument? Generally bool
> arguments are not great for readability (or greppability for that matter).
> Also in this case callers can just as easily do:
> if (set_dirty)
> release_user_pages_dirty(...);
> else
> release_user_pages(...);
>
> And furthermore it makes the code author think more whether he needs
> set_page_dirty() or set_page_dirty_lock(), rather than just passing 'true'
> and hoping the function magically does the right thing for him.
>
Ha, I went through *precisely* that argument in my head, too--and then
got seduced with the idea that it pretties up the existing calling code,
because it's a drop-in one-liner at the call sites. But yes, I'll change it
back to omit the bool set_dirty argument.
thanks,
--
John Hubbard
NVIDIA
Powered by blists - more mailing lists