Re: [PATCH v1 0/4] Refactor do_wp_page, no functional change

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 01, 2014 at 06:56:13PM +0200, Shachar Raindel wrote:
> Currently do_wp_page contains 265 code lines. It also contains 9 goto
> statements, of which 5 are targeting labels which are not cleanup
> related. This makes the function extremely difficult to
> understand. The following patches are an attempt at breaking the
> function to its basic components, and making it easier to understand.
> 
> The patches are straight forward function extractions from
> do_wp_page. As we extract functions, we remove unneeded parameters and
> simplify the code as much as possible. However, the functionality is
> supposed to remain completely unchanged. The patches also attempt to
> document the functionality of each extracted function. In patch 2, we
> split the unlock logic to the contain logic relevant to specific needs
> of each use case, instead of having huge number of conditional
> decisions in a single unlock flow.
> 
> 
> Change log:
> 
> v0 -> v1:
> - Minor renaming of argument in patch 1
> - Instead of having a complex unlock function, unlock the needed parts
>   in the relevant call sites. Simplify code accordingly.
> - Avoid calling wp_page_copy with the ptl held.
> - Rename wp_page_shared_vma to wp_page_shared, flip the logic of a
>   check there to goto the end of the function if no function, instead
>   of having a large conditional block.
> 
> Shachar Raindel (4):
>   mm: Refactor do_wp_page, extract the reuse case
>   mm: Refactor do_wp_page - rewrite the unlock flow
>   mm: refactor do_wp_page, extract the page copy flow
>   mm: Refactor do_wp_page handling of shared vma into a function
> 
>  mm/memory.c | 397 +++++++++++++++++++++++++++++++++++-------------------------
>  1 file changed, 231 insertions(+), 166 deletions(-)

See few nitpicks in 4/4, but looks like a good cleanup. Thanks.

Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>

-- 
 Kirill A. Shutemov

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]