[sheepdog] [PATCH] sheep: use tx/rx thread for data transfer

Liu Yuan namei.unix at gmail.com
Wed Jul 11 12:20:55 CEST 2012


On 07/11/2012 06:17 PM, HaiTing Yao wrote:
> As you see, the main thread's role is to control epoll. It shoud not
> do I/O working. I/O will delay the epoll event. When I/O is busy, the
> patch can make sure the event is cared soon.
> 
> With only one Gust, the tx/rx threads can also improve the
> performance. After doing request, worker threads add EPOLL OUT event.
> The event should be cared as soon as it can.
> 
> 1, Doing request A, pending request B C D
> 2, Done A, send response in main thread
> 3, During sending response of A in main thread, done B. With tx
> thread, B will add to pending list of tx thread. Without the thread,
> just waiting the response of A over.
> 
> My test result gives the proof.
> 
> When many Guests, the benefit is more clear.

You only have one worker to execute the transferring. So rx/tx is
actually serialized by this two threads, especially from multiple VM case.

Thanks,
Yuan



More information about the sheepdog mailing list