On Wed, Sep 28, 2011 at 12:33 AM, mowang da <whooya.xxl@xxxxxxxxx> wrote: > hi all: > > l used ping_pong tool to test ceph, as shown below : > 1.If it supports coherent byte range locks between cluster nodes > 2.How fast it handles lock contention > 3.If it supports coherent read/write IO between nodes > 4.How fast it handles contended IO between nodes > 5.If it supports coherent mmap between nodes > 6.How fast the mmap coherence works > > the ping_pong code is here: > http://junkcode.samba.org/ftp/unpacked/junkcode/ping_pong.c > > l start by running ping_pong on just one of the kernel client mount > point like this: > > ping_pong /mnt/test.dat 3 > > it lock very fast : > > T02-OSD161:/usr/src/ping_pong# ./ping_pong /mnt/test.dat 3 > 1664 locks/sec > > but when l start a second copy of ping_pong on another kernel client > node in my cluster, there have been some errors: > > T02-OSD186:/usr/src/getosd# ./ping_pong /mnt/test.dat 3 > lock at 0 failed! - Interrupted system call > lock at 0 failed! - Interrupted system call > lock at 0 failed! - Interrupted system call > lock at 2 failed! - Interrupted system call > lock at 1 failed! - Interrupted system call > lock at 2 failed! - Interrupted system call > > ls this a bug of ceph ,or l do something wrong? Well, I think locking code generically should be able to handle an EINTR return? But in this case, you are hitting a Ceph bug. It's fixed in the next and master branches and will be in the next release. :) -Greg -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html