lib/ftl: Keep tracing functions under define flag
Tracing functions introduce performance overhead so by default keep them only in debug builds. Signed-off-by: Wojciech Malikowski <wojciech.malikowski@intel.com> Change-Id: I08e0a139c3efa87b0f46b7e7a026b0676f3e8634 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1924 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot
This commit is contained in:
parent
21e2a71515
commit
c6dbe0ab0e
@ -38,6 +38,8 @@
|
|||||||
#include "ftl_io.h"
|
#include "ftl_io.h"
|
||||||
#include "ftl_band.h"
|
#include "ftl_band.h"
|
||||||
|
|
||||||
|
#if defined(DEBUG)
|
||||||
|
|
||||||
#define OWNER_FTL 0x20
|
#define OWNER_FTL 0x20
|
||||||
#define TRACE_GROUP_FTL 0x6
|
#define TRACE_GROUP_FTL 0x6
|
||||||
|
|
||||||
@ -355,3 +357,5 @@ ftl_trace_alloc_id(struct spdk_ftl_dev *dev)
|
|||||||
|
|
||||||
return ftl_trace_next_id(trace);
|
return ftl_trace_next_id(trace);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* defined(DEBUG) */
|
||||||
|
@ -55,6 +55,7 @@ struct ftl_io;
|
|||||||
struct ftl_wbuf_entry;
|
struct ftl_wbuf_entry;
|
||||||
struct ftl_band;
|
struct ftl_band;
|
||||||
|
|
||||||
|
#if defined(DEBUG)
|
||||||
uint64_t ftl_trace_alloc_id(struct spdk_ftl_dev *dev);
|
uint64_t ftl_trace_alloc_id(struct spdk_ftl_dev *dev);
|
||||||
void ftl_trace_defrag_band(struct spdk_ftl_dev *dev, const struct ftl_band *band);
|
void ftl_trace_defrag_band(struct spdk_ftl_dev *dev, const struct ftl_band *band);
|
||||||
void ftl_trace_write_band(struct spdk_ftl_dev *dev, const struct ftl_band *band);
|
void ftl_trace_write_band(struct spdk_ftl_dev *dev, const struct ftl_band *band);
|
||||||
@ -68,5 +69,16 @@ void ftl_trace_completion(struct spdk_ftl_dev *dev,
|
|||||||
const struct ftl_io *io,
|
const struct ftl_io *io,
|
||||||
enum ftl_trace_completion type);
|
enum ftl_trace_completion type);
|
||||||
void ftl_trace_limits(struct spdk_ftl_dev *dev, int limit, size_t num_free);
|
void ftl_trace_limits(struct spdk_ftl_dev *dev, int limit, size_t num_free);
|
||||||
|
#else /* defined(DEBUG) */
|
||||||
|
#define ftl_trace_alloc_id(dev) FTL_TRACE_INVALID_ID
|
||||||
|
#define ftl_trace_defrag_band(dev, band)
|
||||||
|
#define ftl_trace_write_band(dev, band)
|
||||||
|
#define ftl_trace_lba_io_init(dev, io)
|
||||||
|
#define ftl_trace_wbuf_fill(dev, io)
|
||||||
|
#define ftl_trace_wbuf_pop(dev, entry)
|
||||||
|
#define ftl_trace_submission(dev, io, addr, addr_cnt)
|
||||||
|
#define ftl_trace_completion(dev, io, type)
|
||||||
|
#define ftl_trace_limits(dev, limits, num_free)
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* FTL_TRACE_H */
|
#endif /* FTL_TRACE_H */
|
||||||
|
@ -41,9 +41,6 @@
|
|||||||
#include "ftl/ftl_core.c"
|
#include "ftl/ftl_core.c"
|
||||||
#include "ftl/ftl_band.c"
|
#include "ftl/ftl_band.c"
|
||||||
|
|
||||||
DEFINE_STUB(ftl_trace_alloc_id, uint64_t, (struct spdk_ftl_dev *dev), 0);
|
|
||||||
DEFINE_STUB_V(ftl_trace_completion, (struct spdk_ftl_dev *dev, const struct ftl_io *io,
|
|
||||||
enum ftl_trace_completion type));
|
|
||||||
DEFINE_STUB(spdk_bdev_io_get_append_location, uint64_t, (struct spdk_bdev_io *bdev_io), 0);
|
DEFINE_STUB(spdk_bdev_io_get_append_location, uint64_t, (struct spdk_bdev_io *bdev_io), 0);
|
||||||
DEFINE_STUB(spdk_bdev_desc_get_bdev, struct spdk_bdev *, (struct spdk_bdev_desc *desc), NULL);
|
DEFINE_STUB(spdk_bdev_desc_get_bdev, struct spdk_bdev *, (struct spdk_bdev_desc *desc), NULL);
|
||||||
DEFINE_STUB(spdk_bdev_get_optimal_open_zones, uint32_t, (const struct spdk_bdev *b), 1);
|
DEFINE_STUB(spdk_bdev_get_optimal_open_zones, uint32_t, (const struct spdk_bdev *b), 1);
|
||||||
@ -55,9 +52,6 @@ DEFINE_STUB(spdk_bdev_zone_management, int, (struct spdk_bdev_desc *desc,
|
|||||||
struct spdk_io_channel *ch, uint64_t zone_id, enum spdk_bdev_zone_action action,
|
struct spdk_io_channel *ch, uint64_t zone_id, enum spdk_bdev_zone_action action,
|
||||||
spdk_bdev_io_completion_cb cb, void *cb_arg), 0);
|
spdk_bdev_io_completion_cb cb, void *cb_arg), 0);
|
||||||
DEFINE_STUB_V(spdk_bdev_free_io, (struct spdk_bdev_io *bdev_io));
|
DEFINE_STUB_V(spdk_bdev_free_io, (struct spdk_bdev_io *bdev_io));
|
||||||
DEFINE_STUB_V(ftl_trace_submission, (struct spdk_ftl_dev *dev, const struct ftl_io *io,
|
|
||||||
struct ftl_addr addr, size_t addr_cnt));
|
|
||||||
DEFINE_STUB_V(ftl_trace_limits, (struct spdk_ftl_dev *dev, int limit, size_t num_free));
|
|
||||||
DEFINE_STUB(spdk_bdev_read_blocks, int, (struct spdk_bdev_desc *desc, struct spdk_io_channel *ch,
|
DEFINE_STUB(spdk_bdev_read_blocks, int, (struct spdk_bdev_desc *desc, struct spdk_io_channel *ch,
|
||||||
void *buf, uint64_t offset_blocks, uint64_t num_blocks,
|
void *buf, uint64_t offset_blocks, uint64_t num_blocks,
|
||||||
spdk_bdev_io_completion_cb cb, void *cb_arg), 0);
|
spdk_bdev_io_completion_cb cb, void *cb_arg), 0);
|
||||||
@ -76,7 +70,15 @@ DEFINE_STUB(spdk_bdev_get_block_size, uint32_t, (const struct spdk_bdev *bdev),
|
|||||||
#if defined(FTL_META_DEBUG)
|
#if defined(FTL_META_DEBUG)
|
||||||
DEFINE_STUB(ftl_band_validate_md, bool, (struct ftl_band *band), true);
|
DEFINE_STUB(ftl_band_validate_md, bool, (struct ftl_band *band), true);
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(DEBUG)
|
||||||
|
DEFINE_STUB_V(ftl_trace_submission, (struct spdk_ftl_dev *dev, const struct ftl_io *io,
|
||||||
|
struct ftl_addr addr, size_t addr_cnt));
|
||||||
|
DEFINE_STUB_V(ftl_trace_limits, (struct spdk_ftl_dev *dev, int limit, size_t num_free));
|
||||||
|
DEFINE_STUB(ftl_trace_alloc_id, uint64_t, (struct spdk_ftl_dev *dev), 0);
|
||||||
|
DEFINE_STUB_V(ftl_trace_completion, (struct spdk_ftl_dev *dev, const struct ftl_io *io,
|
||||||
|
enum ftl_trace_completion type));
|
||||||
DEFINE_STUB_V(ftl_trace_wbuf_fill, (struct spdk_ftl_dev *dev, const struct ftl_io *io));
|
DEFINE_STUB_V(ftl_trace_wbuf_fill, (struct spdk_ftl_dev *dev, const struct ftl_io *io));
|
||||||
|
#endif
|
||||||
|
|
||||||
struct spdk_io_channel *
|
struct spdk_io_channel *
|
||||||
spdk_bdev_get_io_channel(struct spdk_bdev_desc *bdev_desc)
|
spdk_bdev_get_io_channel(struct spdk_bdev_desc *bdev_desc)
|
||||||
|
@ -52,8 +52,10 @@ struct base_bdev_geometry g_geo = {
|
|||||||
DEFINE_STUB(ftl_dev_tail_md_disk_size, size_t, (const struct spdk_ftl_dev *dev), 1);
|
DEFINE_STUB(ftl_dev_tail_md_disk_size, size_t, (const struct spdk_ftl_dev *dev), 1);
|
||||||
DEFINE_STUB(ftl_addr_is_written, bool, (struct ftl_band *band, struct ftl_addr addr), true);
|
DEFINE_STUB(ftl_addr_is_written, bool, (struct ftl_band *band, struct ftl_addr addr), true);
|
||||||
DEFINE_STUB_V(ftl_band_set_state, (struct ftl_band *band, enum ftl_band_state state));
|
DEFINE_STUB_V(ftl_band_set_state, (struct ftl_band *band, enum ftl_band_state state));
|
||||||
DEFINE_STUB_V(ftl_trace_lba_io_init, (struct spdk_ftl_dev *dev, const struct ftl_io *io));
|
|
||||||
DEFINE_STUB_V(ftl_free_io, (struct ftl_io *io));
|
DEFINE_STUB_V(ftl_free_io, (struct ftl_io *io));
|
||||||
|
#if defined(DEBUG)
|
||||||
|
DEFINE_STUB_V(ftl_trace_lba_io_init, (struct spdk_ftl_dev *dev, const struct ftl_io *io));
|
||||||
|
#endif
|
||||||
|
|
||||||
int
|
int
|
||||||
ftl_band_alloc_lba_map(struct ftl_band *band)
|
ftl_band_alloc_lba_map(struct ftl_band *band)
|
||||||
|
@ -50,20 +50,21 @@ struct base_bdev_geometry g_geo = {
|
|||||||
|
|
||||||
#if defined(DEBUG)
|
#if defined(DEBUG)
|
||||||
DEFINE_STUB(ftl_band_validate_md, bool, (struct ftl_band *band), true);
|
DEFINE_STUB(ftl_band_validate_md, bool, (struct ftl_band *band), true);
|
||||||
|
DEFINE_STUB_V(ftl_trace_limits, (struct spdk_ftl_dev *dev, int limit, size_t num_free));
|
||||||
|
|
||||||
|
DEFINE_STUB_V(ftl_trace_completion, (struct spdk_ftl_dev *dev, const struct ftl_io *io,
|
||||||
|
enum ftl_trace_completion completion));
|
||||||
|
DEFINE_STUB_V(ftl_trace_write_band, (struct spdk_ftl_dev *dev, const struct ftl_band *band));
|
||||||
|
DEFINE_STUB_V(ftl_trace_submission, (struct spdk_ftl_dev *dev, const struct ftl_io *io,
|
||||||
|
struct ftl_addr addr, size_t addr_cnt));
|
||||||
#endif
|
#endif
|
||||||
DEFINE_STUB_V(spdk_bdev_free_io, (struct spdk_bdev_io *bdev_io));
|
DEFINE_STUB_V(spdk_bdev_free_io, (struct spdk_bdev_io *bdev_io));
|
||||||
DEFINE_STUB_V(ftl_io_dec_req, (struct ftl_io *io));
|
DEFINE_STUB_V(ftl_io_dec_req, (struct ftl_io *io));
|
||||||
DEFINE_STUB_V(ftl_io_inc_req, (struct ftl_io *io));
|
DEFINE_STUB_V(ftl_io_inc_req, (struct ftl_io *io));
|
||||||
DEFINE_STUB_V(ftl_io_fail, (struct ftl_io *io, int status));
|
DEFINE_STUB_V(ftl_io_fail, (struct ftl_io *io, int status));
|
||||||
DEFINE_STUB_V(ftl_trace_completion, (struct spdk_ftl_dev *dev, const struct ftl_io *io,
|
|
||||||
enum ftl_trace_completion completion));
|
|
||||||
DEFINE_STUB_V(ftl_reloc_add, (struct ftl_reloc *reloc, struct ftl_band *band, size_t offset,
|
DEFINE_STUB_V(ftl_reloc_add, (struct ftl_reloc *reloc, struct ftl_band *band, size_t offset,
|
||||||
size_t num_blocks, int prio, bool defrag));
|
size_t num_blocks, int prio, bool defrag));
|
||||||
DEFINE_STUB_V(ftl_trace_write_band, (struct spdk_ftl_dev *dev, const struct ftl_band *band));
|
|
||||||
DEFINE_STUB_V(ftl_trace_submission, (struct spdk_ftl_dev *dev, const struct ftl_io *io,
|
|
||||||
struct ftl_addr addr, size_t addr_cnt));
|
|
||||||
DEFINE_STUB_V(ftl_io_process_error, (struct ftl_io *io, const struct spdk_nvme_cpl *status));
|
DEFINE_STUB_V(ftl_io_process_error, (struct ftl_io *io, const struct spdk_nvme_cpl *status));
|
||||||
DEFINE_STUB_V(ftl_trace_limits, (struct spdk_ftl_dev *dev, int limit, size_t num_free));
|
|
||||||
DEFINE_STUB(spdk_bdev_get_num_blocks, uint64_t, (const struct spdk_bdev *bdev), 0);
|
DEFINE_STUB(spdk_bdev_get_num_blocks, uint64_t, (const struct spdk_bdev *bdev), 0);
|
||||||
DEFINE_STUB(spdk_bdev_zone_management, int, (struct spdk_bdev_desc *desc,
|
DEFINE_STUB(spdk_bdev_zone_management, int, (struct spdk_bdev_desc *desc,
|
||||||
struct spdk_io_channel *ch,
|
struct spdk_io_channel *ch,
|
||||||
|
Loading…
Reference in New Issue
Block a user