linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Tim Chen <tim.c.chen@linux.intel.com>
To: lsf-pc@lists.linux-foundation.org
Cc: linux-mm@kvack.org, Johannes Weiner <hannes@cmpxchg.org>,
	Tim Chen <tim.c.chen@linux.intel.com>,
	Michal Hocko <mhocko@kernel.org>, Shaohua Li <shli@fb.com>,
	"Huang, Ying" <ying.huang@intel.com>
Subject: [LSF/MM TOPIC] Optimizations for swap sub-system
Date: Fri, 06 Jan 2017 12:34:34 -0800	[thread overview]
Message-ID: <1483734874.2833.25.camel@linux.intel.com> (raw)

We have some swap related topics we'll like to discuss
at mm summit. A We'll like to get everyone's opinionsA 
to guide future swap related work that we have in mind.

1. DAX swap -A 
For swap space on very fast solid state block devices, the swappedA 
pages can be accessed directly using DAX mechanism withoutA 
incurring the overhead to allocate a page in RAM and swap themA 
in.A A The direct access swap space should speed things up inA 
many cases.A A One remaining issue is if the pages are accessedA 
frequently, we may still need to promote them back to RAM.A A Wea??llA 
like to discuss several possible approaches and their pros andA 
cons to see what is the most viable:A 
A  (i) Using performance monitoring unit to measure the access frequencyA 
A  (ii) Extend the LRU list to such DAX swap spaceA 
A  (iii) A page scanning daemon

2. Improving Swap Read Ahead -A 
The current swap read ahead is done in the same order that theA 
pages are swapped out.A A However, the order of page access mayA 
have no relations with the order that the pages are accessed,A 
especially for sequential memory access.A A Wea??ll like to discussA 
detection mechanism for sequential memory access and using a VMAA 
based read ahead for such case.

3. Improving Swap out path -A 
Optimization of the swap out paths by reducing the contentionsA 
on the locks on swap device, radix tree by introducing finerA 
grained lock on cluster, splitting up the radix tree and gettingA 
swap pages and releasing swap pages in batches. A We'll like to
address any issues if our proposed patchset has not been
merged by the time of mm summit.

4. Huge Page Swapping -A 
Now, the transparent huge page (THP) will be split before swappingA 
out and collapsed back to THP after swapping in.A A This will wasteA 
CPU cycles and reduce effectiveness (utilization) of THP.A A To resolveA 
these issue, we propose to avoid splitting THP during swap out/in.A A 
At the same time, this give us the opportunity to further optimizeA 
the performance of THP swap out/in with large read/write size andA 
reduced TLB flushing etc. to take advantage of the new high speedA 
storage device.

Thanks.

Ying Huang & Tim Chen

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

                 reply	other threads:[~2017-01-06 20:34 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1483734874.2833.25.camel@linux.intel.com \
    --to=tim.c.chen@linux.intel.com \
    --cc=hannes@cmpxchg.org \
    --cc=linux-mm@kvack.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=mhocko@kernel.org \
    --cc=shli@fb.com \
    --cc=ying.huang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox