Hello Kirill,
On Tue, Oct 06, 2015 at 06:24:01PM +0300, Kirill A. Shutemov wrote:
> +static unsigned long deferred_split_scan(struct shrinker *shrink,
> + struct shrink_control *sc)
> +{
> + unsigned long flags;
> + LIST_HEAD(list), *pos, *next;
> + struct page *page;
> +
Hello Kirill,
On Tue, Oct 06, 2015 at 06:24:01PM +0300, Kirill A. Shutemov wrote:
> +static unsigned long deferred_split_scan(struct shrinker *shrink,
> + struct shrink_control *sc)
> +{
> + unsigned long flags;
> + LIST_HEAD(list), *pos, *next;
> + struct page *page;
> +
Currently we don't split huge page on partial unmap. It's not an ideal
situation. It can lead to memory overhead.
Furtunately, we can detect partial unmap on page_remove_rmap(). But we
cannot call split_huge_page() from there due to locking context.
It's also counterproductive to do directly
Currently we don't split huge page on partial unmap. It's not an ideal
situation. It can lead to memory overhead.
Furtunately, we can detect partial unmap on page_remove_rmap(). But we
cannot call split_huge_page() from there due to locking context.
It's also counterproductive to do directly
4 matches
Mail list logo