Tao Ma
2010-Jun-24 05:54 UTC
[Ocfs2-devel] [PATCH 0/3 v5][RFC] ext3/4: enhance fsync performance when using CFQ
Hi Jeff, On 06/23/2010 05:30 PM, Tao Ma wrote:> Hi Jeff, > > On 06/23/2010 05:34 AM, Jeff Moyer wrote: >> Hi, >> >> Running iozone with the fsync flag, or fs_mark, the performance of CFQ is >> far worse than that of deadline for enterprise class storage when dealing >> with file sizes of 8MB or less. I used the following command line as a >> representative test case: >> >> fs_mark -S 1 -D 10000 -N 100000 -d /mnt/test/fs_mark -s 65536 -t 1 -w >> 4096 -F >> >> When run using the deadline I/O scheduler, an average of the first 5 >> numbers >> will give you 448.4 files / second. CFQ will yield only 106.7. With >> this patch series applied (and the two patches I sent yesterday), CFQ now >> achieves 462.5 files / second. > which 2 patches? Could you paste the link or the subject? Just want to > make my test env like yours. ;) > As Joel mentioned in another mail, ocfs2 also use jbd/jbd2, so I'd like > to give it a try and give you some feedback about the test.I am sorry to say that the patch make jbd2 locked up when I tested fs_mark using ocfs2. I have attached the log from my netconsole server. After I reverted the patch [3/3], the box works again. Regards, Tao -------------- next part -------------- A non-text attachment was scrubbed... Name: lockup.log Type: text/x-log Size: 4429 bytes Desc: not available Url : http://oss.oracle.com/pipermail/ocfs2-devel/attachments/20100624/a9724b6e/attachment.bin
Jeff Moyer
2010-Jun-24 14:56 UTC
[Ocfs2-devel] [PATCH 0/3 v5][RFC] ext3/4: enhance fsync performance when using CFQ
Tao Ma <tao.ma at oracle.com> writes:> Hi Jeff, >[...]> I am sorry to say that the patch make jbd2 locked up when I tested > fs_mark using ocfs2. > I have attached the log from my netconsole server. After I reverted > the patch [3/3], the box works again.Thanks for the report, Tao, I'll try to reproduce it here and get back to you. Cheers, Jeff
Jeff Moyer
2010-Jun-27 13:48 UTC
[Ocfs2-devel] [PATCH 0/3 v5][RFC] ext3/4: enhance fsync performance when using CFQ
Tao Ma <tao.ma at oracle.com> writes:> Hi Jeff, > > On 06/23/2010 05:30 PM, Tao Ma wrote: >> Hi Jeff, >> >> On 06/23/2010 05:34 AM, Jeff Moyer wrote: >>> Hi, >>> >>> Running iozone with the fsync flag, or fs_mark, the performance of CFQ is >>> far worse than that of deadline for enterprise class storage when dealing >>> with file sizes of 8MB or less. I used the following command line as a >>> representative test case: >>> >>> fs_mark -S 1 -D 10000 -N 100000 -d /mnt/test/fs_mark -s 65536 -t 1 -w >>> 4096 -F >>> >>> When run using the deadline I/O scheduler, an average of the first 5 >>> numbers >>> will give you 448.4 files / second. CFQ will yield only 106.7. With >>> this patch series applied (and the two patches I sent yesterday), CFQ now >>> achieves 462.5 files / second. >> which 2 patches? Could you paste the link or the subject? Just want to >> make my test env like yours. ;) >> As Joel mentioned in another mail, ocfs2 also use jbd/jbd2, so I'd like >> to give it a try and give you some feedback about the test. > I am sorry to say that the patch make jbd2 locked up when I tested > fs_mark using ocfs2. > I have attached the log from my netconsole server. After I reverted > the patch [3/3], the box works again.I can't reproduce this, unfortunately. Also, when building with the .config you sent me, the disassembly doesn't line up with the stack trace you posted. I'm not sure why yielding the queue would cause a deadlock. The only explanation I can come up with is that I/O is not being issued. I'm assuming that no other I/O will be completed to the file system in question. Is that right? Could you send along the output from sysrq-t? Cheers, Jeff
Tao Ma
2010-Jun-28 06:41 UTC
[Ocfs2-devel] [PATCH 0/3 v5][RFC] ext3/4: enhance fsync performance when using CFQ
Hi Jeff, On 06/27/2010 09:48 PM, Jeff Moyer wrote:> Tao Ma<tao.ma at oracle.com> writes: > >> Hi Jeff, >> >> On 06/23/2010 05:30 PM, Tao Ma wrote: >>> Hi Jeff, >>> >>> On 06/23/2010 05:34 AM, Jeff Moyer wrote: >>>> Hi, >>>> >>>> Running iozone with the fsync flag, or fs_mark, the performance of CFQ is >>>> far worse than that of deadline for enterprise class storage when dealing >>>> with file sizes of 8MB or less. I used the following command line as a >>>> representative test case: >>>> >>>> fs_mark -S 1 -D 10000 -N 100000 -d /mnt/test/fs_mark -s 65536 -t 1 -w >>>> 4096 -F >>>> >>>> When run using the deadline I/O scheduler, an average of the first 5 >>>> numbers >>>> will give you 448.4 files / second. CFQ will yield only 106.7. With >>>> this patch series applied (and the two patches I sent yesterday), CFQ now >>>> achieves 462.5 files / second. >>> which 2 patches? Could you paste the link or the subject? Just want to >>> make my test env like yours. ;) >>> As Joel mentioned in another mail, ocfs2 also use jbd/jbd2, so I'd like >>> to give it a try and give you some feedback about the test. >> I am sorry to say that the patch make jbd2 locked up when I tested >> fs_mark using ocfs2. >> I have attached the log from my netconsole server. After I reverted >> the patch [3/3], the box works again. > > I can't reproduce this, unfortunately. Also, when building with the > .config you sent me, the disassembly doesn't line up with the stack > trace you posted. > > I'm not sure why yielding the queue would cause a deadlock. The only > explanation I can come up with is that I/O is not being issued. I'm > assuming that no other I/O will be completed to the file system in > question. Is that right? Could you send along the output from sysrq-t?yes, I just mounted it and begin the test, so there should be no outstanding I/O. So do you need me to setup another disk for test? I have attached the sysrq output in sysrq.log. please check. btw, I also met with a NULL pointer deference in cfq_yield. I have attached the null.log also. This seems to be related to the previous deadlock and happens when I try to remount the same volume after reboot and ocfs2 try to do some recovery. Regards, Tao -------------- next part -------------- A non-text attachment was scrubbed... Name: sysrq.log Type: text/x-log Size: 33613 bytes Desc: not available Url : http://oss.oracle.com/pipermail/ocfs2-devel/attachments/20100628/d38b6b53/attachment-0002.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: null.log Type: text/x-log Size: 4153 bytes Desc: not available Url : http://oss.oracle.com/pipermail/ocfs2-devel/attachments/20100628/d38b6b53/attachment-0003.bin