From: "Pali Rohár" <pali@kernel.org>
To: u-boot@lists.denx.de
Subject: [PATCH] ubifs: Allow to silence debug dumps
Date: Sun, 7 Aug 2022 21:27:09 +0200 [thread overview]
Message-ID: <20220807192709.21717-1-pali@kernel.org> (raw)
Debug dump logs are not always required. Add a new config option
UBIFS_SILENCE_DEBUG_DUMP to silence all debug dumps. On powerpc/mpc85xx
when enabled this will decrease size of U-Boot binary by 11 kB.
Signed-off-by: Pali Rohár <pali@kernel.org>
---
fs/ubifs/Kconfig | 8 ++++++++
fs/ubifs/debug.c | 28 ++++++++++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/fs/ubifs/Kconfig b/fs/ubifs/Kconfig
index 9da35b8a3794..949b28841194 100644
--- a/fs/ubifs/Kconfig
+++ b/fs/ubifs/Kconfig
@@ -4,3 +4,11 @@ config UBIFS_SILENCE_MSG
help
Make the verbose messages from UBIFS stop printing. This leaves
warnings and errors enabled.
+
+config UBIFS_SILENCE_DEBUG_DUMP
+ bool "UBIFS silence debug dumps"
+ default y if UBIFS_SILENCE_MSG
+ default n
+ help
+ Make the debug dumps from UBIFS stop printing.
+ This decreases size of U-Boot binary.
diff --git a/fs/ubifs/debug.c b/fs/ubifs/debug.c
index 2ff8f1a5f9b1..bede7d01cab0 100644
--- a/fs/ubifs/debug.c
+++ b/fs/ubifs/debug.c
@@ -35,6 +35,7 @@
static DEFINE_SPINLOCK(dbg_lock);
#endif
+#ifndef CONFIG_UBIFS_SILENCE_DEBUG_DUMP
static const char *get_key_fmt(int fmt)
{
switch (fmt) {
@@ -230,6 +231,7 @@ static void dump_ch(const struct ubifs_ch *ch)
(unsigned long long)le64_to_cpu(ch->sqnum));
pr_err("\tlen %u\n", le32_to_cpu(ch->len));
}
+#endif
void ubifs_dump_inode(struct ubifs_info *c, const struct inode *inode)
{
@@ -303,6 +305,7 @@ void ubifs_dump_inode(struct ubifs_info *c, const struct inode *inode)
void ubifs_dump_node(const struct ubifs_info *c, const void *node)
{
+#ifndef CONFIG_UBIFS_SILENCE_DEBUG_DUMP
int i, n;
union ubifs_key key;
const struct ubifs_ch *ch = node;
@@ -546,10 +549,12 @@ void ubifs_dump_node(const struct ubifs_info *c, const void *node)
(int)ch->node_type);
}
spin_unlock(&dbg_lock);
+#endif
}
void ubifs_dump_budget_req(const struct ubifs_budget_req *req)
{
+#ifndef CONFIG_UBIFS_SILENCE_DEBUG_DUMP
spin_lock(&dbg_lock);
pr_err("Budgeting request: new_ino %d, dirtied_ino %d\n",
req->new_ino, req->dirtied_ino);
@@ -563,10 +568,12 @@ void ubifs_dump_budget_req(const struct ubifs_budget_req *req)
pr_err("\tdata_growth %d dd_growth %d\n",
req->data_growth, req->dd_growth);
spin_unlock(&dbg_lock);
+#endif
}
void ubifs_dump_lstats(const struct ubifs_lp_stats *lst)
{
+#ifndef CONFIG_UBIFS_SILENCE_DEBUG_DUMP
spin_lock(&dbg_lock);
pr_err("(pid %d) Lprops statistics: empty_lebs %d, idx_lebs %d\n",
current->pid, lst->empty_lebs, lst->idx_lebs);
@@ -575,6 +582,7 @@ void ubifs_dump_lstats(const struct ubifs_lp_stats *lst)
pr_err("\ttotal_used %lld, total_dark %lld, total_dead %lld\n",
lst->total_used, lst->total_dark, lst->total_dead);
spin_unlock(&dbg_lock);
+#endif
}
#ifndef __UBOOT__
@@ -653,6 +661,7 @@ void ubifs_dump_budg(struct ubifs_info *c, const struct ubifs_budg_info *bi)
void ubifs_dump_lprop(const struct ubifs_info *c, const struct ubifs_lprops *lp)
{
+#ifndef CONFIG_UBIFS_SILENCE_DEBUG_DUMP
int i, spc, dark = 0, dead = 0;
struct rb_node *rb;
struct ubifs_bud *bud;
@@ -740,6 +749,7 @@ void ubifs_dump_lprop(const struct ubifs_info *c, const struct ubifs_lprops *lp)
if (lp->lnum == c->gc_lnum)
pr_cont(", GC LEB");
pr_cont(")\n");
+#endif
}
void ubifs_dump_lprops(struct ubifs_info *c)
@@ -766,6 +776,7 @@ void ubifs_dump_lprops(struct ubifs_info *c)
void ubifs_dump_lpt_info(struct ubifs_info *c)
{
+#ifndef CONFIG_UBIFS_SILENCE_DEBUG_DUMP
int i;
spin_lock(&dbg_lock);
@@ -800,11 +811,13 @@ void ubifs_dump_lpt_info(struct ubifs_info *c)
i + c->lpt_first, c->ltab[i].free, c->ltab[i].dirty,
c->ltab[i].tgc, c->ltab[i].cmt);
spin_unlock(&dbg_lock);
+#endif
}
void ubifs_dump_sleb(const struct ubifs_info *c,
const struct ubifs_scan_leb *sleb, int offs)
{
+#ifndef CONFIG_UBIFS_SILENCE_DEBUG_DUMP
struct ubifs_scan_node *snod;
pr_err("(pid %d) start dumping scanned data from LEB %d:%d\n",
@@ -816,10 +829,12 @@ void ubifs_dump_sleb(const struct ubifs_info *c,
sleb->lnum, snod->offs, snod->len);
ubifs_dump_node(c, snod->node);
}
+#endif
}
void ubifs_dump_leb(const struct ubifs_info *c, int lnum)
{
+#ifndef CONFIG_UBIFS_SILENCE_DEBUG_DUMP
struct ubifs_scan_leb *sleb;
struct ubifs_scan_node *snod;
void *buf;
@@ -854,11 +869,13 @@ void ubifs_dump_leb(const struct ubifs_info *c, int lnum)
out:
vfree(buf);
return;
+#endif
}
void ubifs_dump_znode(const struct ubifs_info *c,
const struct ubifs_znode *znode)
{
+#ifndef CONFIG_UBIFS_SILENCE_DEBUG_DUMP
int n;
const struct ubifs_zbranch *zbr;
char key_buf[DBG_KEY_BUF_LEN];
@@ -893,10 +910,12 @@ void ubifs_dump_znode(const struct ubifs_info *c,
DBG_KEY_BUF_LEN));
}
spin_unlock(&dbg_lock);
+#endif
}
void ubifs_dump_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, int cat)
{
+#ifndef CONFIG_UBIFS_SILENCE_DEBUG_DUMP
int i;
pr_err("(pid %d) start dumping heap cat %d (%d elements)\n",
@@ -909,11 +928,13 @@ void ubifs_dump_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, int cat)
lprops->dirty, lprops->flags);
}
pr_err("(pid %d) finish dumping heap\n", current->pid);
+#endif
}
void ubifs_dump_pnode(struct ubifs_info *c, struct ubifs_pnode *pnode,
struct ubifs_nnode *parent, int iip)
{
+#ifndef CONFIG_UBIFS_SILENCE_DEBUG_DUMP
int i;
pr_err("(pid %d) dumping pnode:\n", current->pid);
@@ -927,10 +948,12 @@ void ubifs_dump_pnode(struct ubifs_info *c, struct ubifs_pnode *pnode,
pr_err("\t%d: free %d dirty %d flags %d lnum %d\n",
i, lp->free, lp->dirty, lp->flags, lp->lnum);
}
+#endif
}
void ubifs_dump_tnc(struct ubifs_info *c)
{
+#ifndef CONFIG_UBIFS_SILENCE_DEBUG_DUMP
struct ubifs_znode *znode;
int level;
@@ -948,14 +971,17 @@ void ubifs_dump_tnc(struct ubifs_info *c)
znode = ubifs_tnc_levelorder_next(c->zroot.znode, znode);
}
pr_err("(pid %d) finish dumping TNC tree\n", current->pid);
+#endif
}
+#ifndef CONFIG_UBIFS_SILENCE_DEBUG_DUMP
static int dump_znode(struct ubifs_info *c, struct ubifs_znode *znode,
void *priv)
{
ubifs_dump_znode(c, znode);
return 0;
}
+#endif
/**
* ubifs_dump_index - dump the on-flash index.
@@ -966,7 +992,9 @@ static int dump_znode(struct ubifs_info *c, struct ubifs_znode *znode,
*/
void ubifs_dump_index(struct ubifs_info *c)
{
+#ifndef CONFIG_UBIFS_SILENCE_DEBUG_DUMP
dbg_walk_index(c, NULL, dump_znode, NULL);
+#endif
}
#ifndef __UBOOT__
--
2.20.1
next reply other threads:[~2022-08-07 19:27 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-07 19:27 Pali Rohár [this message]
2022-08-07 22:30 ` [PATCH] ubifs: Allow to silence debug dumps Tony Dinh
2022-08-07 22:54 ` Pali Rohár
2022-08-07 23:19 ` Tony Dinh
2022-08-25 13:53 ` Pali Rohár
2022-10-09 11:30 ` Pali Rohár
2022-11-01 22:26 ` Pali Rohár
2022-11-21 17:37 ` Pali Rohár
2022-11-24 21:32 ` Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220807192709.21717-1-pali@kernel.org \
--to=pali@kernel.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.