[stgt] [PATCH] use pthread per target

FUJITA Tomonori fujita.tomonori at lab.ntt.co.jp
Wed May 26 16:19:15 CEST 2010


On Fri, 14 May 2010 12:53:48 +0900
FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp> wrote:

> There was some discussion on the scalability problem of tgt.
> 
> We have the feature to run multiple tgt processes on the single host
> to for it. However, it has some disadvantages such as you can't share
> portals, you need to use tgtadm against each tgtd daemon, etc.
> 
> We discussed converting tgt to use {process|pthread} per
> {target|nexus|etc} to improve the performance.
> 
> This patch converts tgt to use pthread per target. It's a hacky patch
> and there are tons of more things to fix. And I've not tested it much.
> 
> But I want to see how it could improve the performance.

Ok, I confirmed that this improves the performance.

One target box exports four Intel SSD drivers as four logical units to
one initiator boxes with 10GbE. The initiator runs disktest against
each logical unit. The initiator gets about 500 MB/s in total.

Running four tgt process (with "-C" option) produces about 850
MB/s in total. This patch also gives about 850MB/s.

Seems that one process can handle 10GbE I/Os, however, it's not enough
to handle 10GbE _and_ signalfd load generated by fast disk I/Os.

I plan to clean up and merge this.
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



More information about the stgt mailing list