]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os: write file journal optimezation
authorXinze Chi <xinze@xsky.com>
Fri, 6 Nov 2015 13:44:38 +0000 (21:44 +0800)
committerXinze Chi <xinze@xsky.com>
Thu, 12 Nov 2015 21:54:52 +0000 (05:54 +0800)
commiteb020b6a6a75c69f71dc29fd607a4626bed28366
tree0d6f78fe740e5b23611f3b2f36b41314f46ea36c
parentf9fdf47e9f185bc211eabaad405811323361a468
os: write file journal optimezation

Currently, there is single write thread for file journal, so it would be bottleneck.
It is important to keep logic of the journal write thread simple. According to the
implementation of transaction encoding, it is almost impossible that the write
bufferlist would be align. So write journal would call rebuild_aligned almost every time.
Because of the memory fragmentation, the bufferlist crc and rebuild would be bottleneck.

My implementation would move the complex logic out of journal write thread.

Signed-off-by: Xinze Chi <xinze@xsky.com>
Reviewed-by: Haomai Wang <haomai@xsky.com>
src/os/FileJournal.cc
src/os/FileJournal.h
src/os/FileStore.cc
src/os/Journal.h
src/os/JournalingObjectStore.cc
src/os/JournalingObjectStore.h