[LSF/MM TOPIC] THP, huge tmpfs, khugepaged

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

 



Hi,

I would like to attend LSF/MM 2016.

THP refcounting rework had been merged into v4.5 and I would like to
discuss next steps on THP front.

== huge tmpfs ==

One of the topic would be huge tmpfs. Currently we have two alternative
implementation of huge pages support in tmpfs:

  - Hugh has implemented it on top of new way to couple pages together --
    team pages. It's rather mature implementation which has been used in
    production.

  - I've implemented huge tmpfs on top of the same compound pages we use
    for THP. It's still under validation and hasn't got proper review.
    Few more iterations would be required to get it into shape.

Supporting two parallel implementation of the same feature is wasteful.
During the summit I would like to work out a consensus on what
implementation fits upstream more.

== khugepaged ==

Other topic I would like to talk about is khugepaged. New THP refcounting
opens some possibilities in this area.

We've got split_huge_pmd() decoupled from splitting underlying compound
page. We can separate collapse into two stages too: first collapse small
pages into a huge one, and then replace PTE tables with PMDs where it's
possible.

Even if the second stage has failed for some reason, we would still
benefit from fewer pages on LRU to deal with.

It also allows to collapse pages shared over fork(), which we cannot do at
the moment.

I personally would not have time to implement it any time soon, but I'll
help to anyone who wants to play with the idea.

-- 
 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]