]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
OSD: Deleting transaction object right after applying transaction 7271/head
authorSomnath Roy <somnath.roy@sandisk.com>
Mon, 18 Jan 2016 19:48:24 +0000 (14:48 -0500)
committerSomnath Roy <somnath.roy@sandisk.com>
Wed, 27 Jan 2016 22:43:37 +0000 (17:43 -0500)
commit5e4eb3fcdd7359f115465d51d2f51aaca7cdad89
tree06d448f4eb8da7fce6fb9d84bda7b98475408c01
parent7e0a7a3d44cb49b1852cfc9aaf5401582c837fd4
OSD: Deleting transaction object right after applying transaction

Presently, the transaction object is been deleted by the Finisher
thread asynchronously. In heavy load scenario specially if we
unleash journal throttle more, we are seeing high memory usage by
the OSDs because of this. In this new scheme, with the help of
move semantics transaction objects will be deleted synchronously
from the filestore worker threads. We are seeing very much
controllable memory growth now as well as ~3 to 4% cpu usage
benefit because of some reduction of 'new' , 'delete' calls.

Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>
38 files changed:
src/os/FuseStore.cc
src/os/ObjectStore.cc
src/os/ObjectStore.h
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h
src/os/filestore/FileJournal.cc
src/os/filestore/FileJournal.h
src/os/filestore/FileStore.cc
src/os/filestore/FileStore.h
src/os/filestore/Journal.h
src/os/filestore/JournalingObjectStore.cc
src/os/filestore/JournalingObjectStore.h
src/os/kstore/KStore.cc
src/os/kstore/KStore.h
src/os/memstore/MemStore.cc
src/os/memstore/MemStore.h
src/osd/ECBackend.cc
src/osd/OSD.cc
src/osd/PG.cc
src/osd/PGBackend.h
src/osd/ReplicatedBackend.cc
src/osd/ReplicatedPG.cc
src/osd/ReplicatedPG.h
src/test/bench/small_io_bench_fs.cc
src/test/bench/testfilestore_backend.cc
src/test/objectstore/DeterministicOpSequence.cc
src/test/objectstore/FileStoreTracker.cc
src/test/objectstore/TestObjectStoreState.cc
src/test/objectstore/TestObjectStoreState.h
src/test/objectstore/store_test.cc
src/test/objectstore/test_idempotent.cc
src/test/objectstore/workload_generator.cc
src/test/objectstore/workload_generator.h
src/test/objectstore_bench.cc
src/test/test_filejournal.cc
src/test/test_trans.cc
src/test/xattr_bench.cc
src/tools/ceph_objectstore_tool.cc