Details
-
Improvement
-
Resolution: Won't Fix
-
Minor
-
None
-
None
-
None
-
3
-
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.