On 06/19/12 02:35, yangfanlinux wrote:
> I used srpt 2.2 to test I/O stabilization. And sometimes the
> target consumed cpu almost 100%.
> In srpt 2.2 all the scst_exec_context is SCST_CONTEXT_THREAD.But in the
> latest trunk version,the srpt_send_context is SCST_CONTEXT_DIRECT by
> default. Is there some reason to change this behavior ?
In the tests I've run so far the SCST command threads had more work to
do than the ib_srpt completion thread. Also, the time needed to perform
the work corresponding to "srpt_send_context" is minimal, namely
performing DMA unmapping and freeing some data structures. Changing
srpt_send_context from SCST_CONTEXT_THREAD into SCST_CONTEXT_DIRECT
causes that work to be done by the srpt completion thread instead of one
of the SCST command threads. So that change should improve performance
since it saves a context switch. Is that also the case on your setup ?