From 6d475d3fa8821c813e97e6f1e42cfcb63ec4ff77 Mon Sep 17 00:00:00 2001 From: Laura Flores Date: Tue, 14 Jun 2022 12:35:04 -0500 Subject: [PATCH] doc/dev: improve wording and grammar of mempool page Signed-off-by: Laura Flores --- doc/dev/mempool_accounting.rst | 69 +++++++++++++++------------------- 1 file changed, 31 insertions(+), 38 deletions(-) diff --git a/doc/dev/mempool_accounting.rst b/doc/dev/mempool_accounting.rst index 3d3e082f3eb0e..d86220ae8ff3d 100644 --- a/doc/dev/mempool_accounting.rst +++ b/doc/dev/mempool_accounting.rst @@ -1,48 +1,41 @@ What is a mempool? ------------------ -A memory pool is a method for accounting the consumption of memory of -Memory pools (mempools) show the details of memory consumption of C++ classes and containers, which can then be used to assess memory leaks, and other insights around memory usage with low overhead. -Each memory pool tracks the number of bytes and items it contains. -Memory pools are statically declared and serves the purpose of identifying -memory related checks in BlueStore. +A memory pool (mempool) is a method for tracking memory consumption. Memory pools represent the memory consumption +of C++ classes and containers, and they are used to assess memory leaks and other insights around memory usage with +low overhead. Each memory pool tracks the number of bytes and items it contains. Mempools are statically declared, +and they serve the purpose of identifying memory-related checks in BlueStore. Some common mempools that we can track -------------------------------------- -- ``bloom_filter``: Ceph uses bloom filters to account for tracking objects already - in the cache pool, in order to determine which objects in the pool are being - accessed. -- ``bluestore_alloc``: It accounts for actual allocations done by an allocator. -- ``bluestore_inline_bl``: measures encoded length of an inline buffer. -- ``bluestore_fsck``: file system consistency check for BlueStore metadata, helps in - tracking and debugging during OSD repairs. -- ``bluestore_txc``: accounts for committed transactions counter. -- ``bluestore_writing_deferred``: measures those small writes which are deferred - i.e. first written into RocksDB WAL and later flushed to disk. -- ``bluestore_writing``: TBD -- ``bluefs``: file-system-like interface that provides just enough functionality to - allow RocksDB to store its “files” and share the same raw device(s) with - BlueStore. -- ``buffer_anon``: stores arbitrary buffer data. -- ``buffer_meta``: all the metadata associated with buffer anon buffers. -- ``bluestore_cache_data``: mempool for writing and writing deferred. -- ``bluestore_cache_onode``: meta information of object node stored directed in - bluestore cache. -- ``bluestore_cache_meta``: key under PREFIX_OBJ where we are stored. -- ``bluestore_cache_other``: right now account's for - - - ``map_t``: we use it to track raw extents on disk for SharedBlob. We also use - it for the in-memory Blob with the blob namespace. +- ``bloom_filter``: tracks objects already in the cache pool in order to determine which objects in the pool are + being accessed +- ``bluestore_alloc``: accounts for actual allocations done by an allocator +- ``bluestore_inline_bl``: measures encoded length of an inline buffer +- ``bluestore_fsck``: file system consistency check for BlueStore metadata; helps in tracking and debugging during OSD repairs +- ``bluestore_txc``: accounts for committed transactions counter +- ``bluestore_writing_deferred``: measures small writes which are deferred, i.e. first written into RocksDB WAL and later + flushed to the disk +- ``bluestore_writing``: accounts for in-flight write buffers +- ``bluefs``: file-system-like interface; provides just enough functionality to allow RocksDB to store its “files” and share + the same raw device(s) with BlueStore +- ``buffer_anon``: stores arbitrary buffer data +- ``buffer_meta``: all the metadata associated with buffer anon buffers +- ``bluestore_cache_data``: mempool for writing and writing deferred +- ``bluestore_cache_onode``: object node (onode) metadata in the BlueStore cache +- ``bluestore_cache_meta``: key under PREFIX_OBJ where we are stored +- ``bluestore_cache_other``: right now accounts for: + + - ``map_t``: used to track raw extents on disk for SharedBlob and for the in-memory Blob with the blob namespace - ``coll_map``: collections_map - ``csum_data``: checksum data -- ``bluestore_cache_buffer``: accounts for buffer cache shards. -- ``bluestore_extent``: a logical as well as physical extents, pointing to (some - portion of) a blob. -- ``bluestore_blob``: in-memory blob metadata and associated cached buffers. -- ``bluestore_shared_blob``: in memory shared blob state, stores reference of set of - collections it is part of (includes cached buffers). -- ``bluefs_file_reader``: accounts for bluefs file reader buffer. -- ``bluefs_file_writer``: accounts for bluefs file writer buffer. +- ``bluestore_cache_buffer``: accounts for buffer cache shards +- ``bluestore_extent``: a logical (as well as physical) extent, pointing to some portion of a blob +- ``bluestore_blob``: in-memory blob metadata associated cached buffers +- ``bluestore_shared_blob``: in-memory shared blob state; stores a reference to the set of collections it belongs to + (includes cached buffers) +- ``bluefs_file_reader``: accounts for bluefs file reader buffer +- ``bluefs_file_writer``: accounts for bluefs file writer buffer Check mempools usage ~~~~~~~~~~~~~~~~~~~~ @@ -53,4 +46,4 @@ Command to see BlueStore memory allocation in these mempools:: .. note:: see more: - https://github.com/ceph/ceph/blob/master/src/include/mempool.h + https://github.com/ceph/ceph/blob/main/src/include/mempool.h -- 2.39.5