[LU-17194] parallelize DIO submit Created: 13/Oct/23  Updated: 19/Oct/23

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Minor
Reporter: Patrick Farrell Assignee: Patrick Farrell
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Related
is related to LU-13805 i/o path: Unaligned direct i/o Open
is related to LU-13814 DIO performance: cl_page struct remov... Open
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

This is a ticket to capture some early work on parallelizing DIO submission.  This is required to speed up unaligned DIO writes, which otherwise do all the buffer allocation and copying in a single thread, which is rather painful.

 

This is effectively a follow on to LU-13805.

 

The idea is we will parallelize IO submission for each cl_sub_dio.  This leverages the IO simplifications from LU-13814.  This parallelization has a few requirements:
The sub-thread will need its own env (this seems to be unavoidable, particularly for cleanup handling)

The io submit process needs to not use the cl_io, because this is a shared structure.  For sure we can never write to the cl_io, but we also can't safely use it because, for example, the OSC and LOV io in the cl_io are overwritten when we go to the next stripe.  So the first step is to remove all usage of cl_io in the DIO submission path.

This may require partly breaking DIO ENOSPC handling.  We'll see.



 Comments   
Comment by Gerrit Updater [ 13/Oct/23 ]

"Patrick Farrell <pfarrell@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52692
Subject: LU-17194 osc: remove ci_layout_version usage
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: da5b79238fd9b1ca327a9f36559c0526ee823c38

Comment by Gerrit Updater [ 19/Oct/23 ]

"Patrick Farrell <pfarrell@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52762
Subject: LU-17194 osc: add cdp_cap_sys_resource
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 27fdf8040067b16b96bdc9a59743db6cb65f1d28

Comment by Gerrit Updater [ 19/Oct/23 ]

"Patrick Farrell <pfarrell@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52763
Subject: LU-17194 osc: get srvlock from otp
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 573dbd35716f6f60874b7e72359fe88c64565a88

Comment by Gerrit Updater [ 19/Oct/23 ]

"Patrick Farrell <pfarrell@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52764
Subject: LU-17194 osc: remove ci_ndelay usage
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 9de7d310d1463d78b411f9af55bd6dcc113e5169

Comment by Gerrit Updater [ 19/Oct/23 ]

"Patrick Farrell <pfarrell@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52765
Subject: LU-17194 osc: remove io from cio_dio_submit
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: f9df7d2dd8452c2373352317c22f3616debdb0b0

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