Swap causing huge latency on disk IO operations

Sudharsan Vijayaraghavan sudvijayr at gmail.com
Sat Sep 9 14:36:36 EDT 2017

Hi All,

We are running a pretty (rather a very old kernel) 2.6.32. Nevertheless we
do see huge latency on disk IO once system starts using swap.

Tweaking of various swap related variables under /proc/sys/vm did not make
a big difference.
The idea is we are having big memory requirement, hence using swap is
expected. Unexpected thing is that this is causing very high latency.
The precise latency happens as follows

swap_readpage () invokes lock_page() and then the process(thread) of
interest gets scheduled out through io_schedule(), it does not run again
for several seconds.

This occurs due to the fact another thread is writing to disk using ext3
functions, wherein it
took lock_page() and spends lot of time to write data to disk before
finally invoking unlock_page().

top shows huge iowaits (nr_iowait).

Is it expected design behavior that Linux performs bad with swap
particularly for disk operations?

Tweaking elevator algorithm, io size, block size also did not help.

Now we are changing ext3 mounts from data=ordered to data=writeback to see
if it helps to reduce disk latency when we run into swap usage.

We use RAID along with LVM. We are also experimenting by removing LVM to
see if improves the behaviour.

Any inputs will be immense help

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20170910/a02f85bb/attachment.html 

More information about the Kernelnewbies mailing list