On 06/05/2012 08:10 PM, Christoph Hellwig wrote: > Sheepdog is designed for clusters large enough that finding objects locally > is the exception, so stop optimizing for it. Remove all code that bypasses > the networking code when handling an object that is local to the gateway. > > In the short runs the only benefits are code simplification, and not having > to calculate all object locations in forward_read_obj_req, but long run > the better split should allow for some nice optimizations like using the > splice system call on the gateway so that data can be forwarded without > ever having to copy it to userspace. The pros is simplification of code, but you don't say cons, I think we should know the perf number we lost by adding a network overhead for IOs happen to be local, this can be easily collected by built-in tracer. Thanks, Yuan |