[LU-10278] lfs migrate: make use of direct i/o optional Created: 24/Nov/17  Updated: 02/Jan/19  Resolved: 22/Feb/18

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.11.0

Type: Improvement Priority: Minor
Reporter: Daniel Kobras (Inactive) Assignee: Emoly Liu
Resolution: Fixed Votes: 0
Labels: patch

Issue Links:
Related
is related to LU-4198 Improve IO performance when using DIR... Resolved
is related to LU-11621 Add copy_file_range() API and use it ... Open
Rank (Obsolete): 9223372036854775807

 Description   

In order to avoid cache thrashing, lfs migrate currently uses direct i/o to copy file contents, which may leads to significantly different performance compared to normal (non-O_DIRECT) i/o, cf. for example the discussion at http://lists.lustre.org/pipermail/lustre-discuss-lustre.org/2017-November/015112.html. Internally, we've measured even more extreme differences where O_DIRECT throughput performed at 1/10th the normal rate. Therefore, I'd suggest to leave the choice between normal and direct i/o to the caller of lfs migrate by adding a new option N/-non-direct that suppresses to O_DIRECT flag in the open() call of the source file. Patch to follow.



 Comments   
Comment by Jinshan Xiong (Inactive) [ 24/Nov/17 ]

Then the correct direction to go is to use AIO+DirectIO. Please take a look at LU-4198 for enabling AIO in Lustre.

Comment by Andreas Dilger [ 26/Nov/17 ]

I think it is reasonable to have a simple change like this, since the fix to AIO in the kernel is fairly complex (and late for 2.11). The patch to lfs migrate should be simple enough that it can be backported to 2.10.x as well.

I'm not against making AIO and copyfile() work well, but it shouldn't be an obstacle for a small fix in the meantime.

Comment by Gerrit Updater [ 28/Nov/17 ]

Daniel Kobras (d.kobras@science-computing.de) uploaded a new patch: https://review.whamcloud.com/30301
Subject: LU-10278 utils: allow to migrate without direct io
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: b7fde24507db1e007da3c96aaeeadd3f572bff6b

Comment by Peter Jones [ 15/Jan/18 ]

kobras will you be able to refresh the patch as required?

Comment by Peter Jones [ 06/Feb/18 ]

Emoly

It seems that kobras is not available to refresh his patch. Could you please assist with this so that we can include this change in 2.11?

Thanks

Peter

Comment by Gerrit Updater [ 22/Feb/18 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/30301/
Subject: LU-10278 utils: allow to migrate without direct io
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: adfb154348c742b073a2b8120f2a9bf4c67fb7fa

Comment by Peter Jones [ 22/Feb/18 ]

Landed for 2.11

Generated at Sat Feb 10 02:33:37 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.