# Re: \[PATCH v7 02/24\] mm/gup: factor out duplicate code from four routines

- From: Christoph Hellwig \<hch@lst.de\>
- Date: 2019-11-21 08:04:10 
- List: linuxppc-dev
- Page: https://ratatoskr.run/linuxppc-dev/2019/11/167346
- Thread: https://ratatoskr.run/bpf/2019/11/167331/t.md

```text
On Wed, Nov 20, 2019 at 11:13:32PM -0800, John Hubbard wrote:
> There are four locations in gup.c that have a fair amount of code
> duplication. This means that changing one requires making the same
> changes in four places, not to mention reading the same code four
> times, and wondering if there are subtle differences.
> 
> Factor out the common code into static functions, thus reducing the
> overall line count and the code's complexity.
> 
> Also, take the opportunity to slightly improve the efficiency of the
> error cases, by doing a mass subtraction of the refcount, surrounded
> by get_page()/put_page().
> 
> Also, further simplify (slightly), by waiting until the the successful
> end of each routine, to increment *nr.

Any reason for the spurious underscore in the function name?

Otherwise this looks fine and might be a worthwhile cleanup to feed
Andrew for 5.5 independent of the gut of the changes.

Reviewed-by: Christoph Hellwig <hch@lst.de>
```
