Whamcloud - gitweb
LU-12043 llite: don't miss every first stride page 16/35216/6
authorWang Shilong <wshilong@ddn.com>
Thu, 8 Aug 2019 16:49:24 +0000 (12:49 -0400)
committerOleg Drokin <green@whamcloud.com>
Wed, 21 Aug 2019 04:58:23 +0000 (04:58 +0000)
commit29d8eb5ee7dff422294c9ee3d0f34f1370cec800
treefa6b0ac4ba15d309e6d72a0589080ce34e67a0e5
parentd31a4dad4e698c537dff3d018fd67f196b2b293f
LU-12043 llite: don't miss every first stride page

Whenever we need skip some pages for stride io read, we
will calculate next start page index, however, this page
index is skipped every time, because loop start from index + 1

Testing command: iozone -w -c -i 5 -t1 -j 2 -s 100m -r 1m -F data
Without patch: 587384.69 kB/sec

                        read                    write
pages per rpc         rpcs   % cum % |       rpcs   % cum %
1:                      16  19  19   |          0   0   0
2:                       0   0  19   |          0   0   0
4:                       0   0  19   |          0   0   0
8:                       0   0  19   |          0   0   0
16:                      0   0  19   |          0   0   0
32:                      0   0  19   |          0   0   0
64:                      0   0  19   |          0   0   0
128:                     0   0  19   |          0   0   0
256:                     0   0  19   |          0   0   0
512:                    22  26  46   |          0   0   0
1024:                   44  53 100   |          0   0   0

With patch: 744635.56 kB/sec
                        read                    write
pages per rpc         rpcs   % cum % |       rpcs   % cum %
1:                       0   0   0   |          0   0   0
2:                       0   0   0   |          0   0   0
4:                       0   0   0   |          0   0   0
8:                       0   0   0   |          0   0   0
16:                      0   0   0   |          0   0   0
32:                      0   0   0   |          0   0   0
64:                      0   0   0   |          0   0   0
128:                     0   0   0   |          0   0   0
256:                     0   0   0   |          0   0   0
512:                     8  13  13   |          0   0   0
1024:                   50  86 100   |          0   0   0

We get better performances ~27% up here, and all 1 page RPC
disappear.

Change-Id: I126674cbe15197f0abdff256fdde3fc0c49c6898
Signed-off-by: Wang Shilong <wshilong@ddn.com>
Reviewed-on: https://review.whamcloud.com/35216
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/llite/rw.c