* [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs @ 2024-10-28 16:17 Stefan Kerkmann 2024-10-28 16:17 ` [PATCH 1/2] block: downgrade noisy debug calls to verbose debug Stefan Kerkmann ` (4 more replies) 0 siblings, 5 replies; 10+ messages in thread From: Stefan Kerkmann @ 2024-10-28 16:17 UTC (permalink / raw) To: Sascha Hauer, BAREBOX; +Cc: Stefan Kerkmann These two patches are the outcome of an investigation why loading a fitimage from an eMMC took nearly 7s - the sheer amount of generated debugging messages slowed down the system by a factor of ~21 with KConfig options: CONFIG_COMPILE_LOGLEVEL=7 CONFIG_DEFAULT_LOGLEVEL=6 Which is the current default combination for barebox. Before: Booting entry 'system0' FIT: Reading time: 6722 ms After: Booting entry 'system0' FIT: Reading time: 324 ms Signed-off-by: Stefan Kerkmann <s.kerkmann@pengutronix.de> --- Stefan Kerkmann (2): block: downgrade noisy debug calls to verbose debug fs: ramfs: downgrade noisy debug calls to verbose debug common/block.c | 4 ++-- fs/ramfs.c | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) --- base-commit: 59658c877bcc605fe3ca36653b4f40f57856b81a change-id: 20241028-fix-noisy-debug-calls-a6d6185be705 Best regards, -- Stefan Kerkmann <s.kerkmann@pengutronix.de> ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/2] block: downgrade noisy debug calls to verbose debug 2024-10-28 16:17 [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs Stefan Kerkmann @ 2024-10-28 16:17 ` Stefan Kerkmann 2024-10-28 16:17 ` [PATCH 2/2] fs: ramfs: " Stefan Kerkmann ` (3 subsequent siblings) 4 siblings, 0 replies; 10+ messages in thread From: Stefan Kerkmann @ 2024-10-28 16:17 UTC (permalink / raw) To: Sascha Hauer, BAREBOX; +Cc: Stefan Kerkmann These debug calls are in the hotpath of any block device interaction, cluttering the log buffer, slowing down reads/writes and are usually not interesting while debugging, thus they are downgraded to verbose debugging. Signed-off-by: Stefan Kerkmann <s.kerkmann@pengutronix.de> --- common/block.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/block.c b/common/block.c index 3101fceea7..3ee33f2bf0 100644 --- a/common/block.c +++ b/common/block.c @@ -105,7 +105,7 @@ static struct chunk *chunk_get_cached(struct block_device *blk, sector_t block) list_for_each_entry(chunk, &blk->buffered_blocks, list) { if (block >= chunk->block_start && block < chunk->block_start + blk->rdbufsize) { - dev_dbg(blk->dev, "%s: found %llu in %d\n", __func__, + dev_vdbg(blk->dev, "%s: found %llu in %d\n", __func__, block, chunk->num); /* * move most recently used entry to the head of the list @@ -175,7 +175,7 @@ static int block_cache(struct block_device *blk, sector_t block) chunk->block_start = block & ~blk->blkmask; - dev_dbg(blk->dev, "%s: %llu to %d\n", __func__, chunk->block_start, + dev_vdbg(blk->dev, "%s: %llu to %d\n", __func__, chunk->block_start, chunk->num); len = writebuffer_io_len(blk, chunk); -- 2.39.5 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/2] fs: ramfs: downgrade noisy debug calls to verbose debug 2024-10-28 16:17 [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs Stefan Kerkmann 2024-10-28 16:17 ` [PATCH 1/2] block: downgrade noisy debug calls to verbose debug Stefan Kerkmann @ 2024-10-28 16:17 ` Stefan Kerkmann 2024-10-28 16:44 ` [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs Ahmad Fatoum ` (2 subsequent siblings) 4 siblings, 0 replies; 10+ messages in thread From: Stefan Kerkmann @ 2024-10-28 16:17 UTC (permalink / raw) To: Sascha Hauer, BAREBOX; +Cc: Stefan Kerkmann These debug calls are in the hotpath of any ramfs interaction, cluttering the log buffer, slowing down reads/writes and are usually not interesting while debugging, thus they are downgraded to verbose debugging. Signed-off-by: Stefan Kerkmann <s.kerkmann@pengutronix.de> --- fs/ramfs.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/ramfs.c b/fs/ramfs.c index a799b23efb..c1ef7acd91 100644 --- a/fs/ramfs.c +++ b/fs/ramfs.c @@ -224,14 +224,14 @@ static int ramfs_read(struct device *_dev, FILE *f, void *buf, size_t insize) unsigned long pos = f->pos; int size = insize; - debug("%s: %p %zu @ %lld\n", __func__, node, insize, f->pos); + pr_vdebug("%s: %p %zu @ %lld\n", __func__, node, insize, f->pos); while (size) { data = ramfs_find_chunk(node, pos, &ofs, &len); if (!data) return -EINVAL; - debug("%s: pos: %lu ofs: %d len: %d\n", __func__, pos, ofs, len); + pr_vdebug("%s: pos: %lu ofs: %d len: %d\n", __func__, pos, ofs, len); now = min(size, len); @@ -255,14 +255,14 @@ static int ramfs_write(struct device *_dev, FILE *f, const void *buf, unsigned long pos = f->pos; int size = insize; - debug("%s: %p %zu @ %lld\n", __func__, node, insize, f->pos); + pr_vdebug("%s: %p %zu @ %lld\n", __func__, node, insize, f->pos); while (size) { data = ramfs_find_chunk(node, pos, &ofs, &len); if (!data) return -EINVAL; - debug("%s: pos: %lu ofs: %d len: %d\n", __func__, pos, ofs, len); + pr_vdebug("%s: pos: %lu ofs: %d len: %d\n", __func__, pos, ofs, len); now = min(size, len); @@ -363,7 +363,7 @@ static int ramfs_truncate(struct device *dev, FILE *f, loff_t size) if (size > ULONG_MAX) return -ENOSPC; - debug("%s: %p cur: %ld new: %lld alloc: %ld\n", __func__, node, + pr_vdebug("%s: %p cur: %ld new: %lld alloc: %ld\n", __func__, node, node->size, size, node->alloc_size); if (size == node->size) -- 2.39.5 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs 2024-10-28 16:17 [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs Stefan Kerkmann 2024-10-28 16:17 ` [PATCH 1/2] block: downgrade noisy debug calls to verbose debug Stefan Kerkmann 2024-10-28 16:17 ` [PATCH 2/2] fs: ramfs: " Stefan Kerkmann @ 2024-10-28 16:44 ` Ahmad Fatoum 2024-10-28 16:57 ` Stefan Kerkmann 2024-10-29 13:33 ` Sascha Hauer 2024-10-30 8:47 ` Sascha Hauer 4 siblings, 1 reply; 10+ messages in thread From: Ahmad Fatoum @ 2024-10-28 16:44 UTC (permalink / raw) To: Stefan Kerkmann, Sascha Hauer, BAREBOX Hi, On 28.10.24 17:17, Stefan Kerkmann wrote: > These two patches are the outcome of an investigation why loading a > fitimage from an eMMC took nearly 7s - the sheer amount of generated > debugging messages slowed down the system by a factor of ~21 with > KConfig options: > > CONFIG_COMPILE_LOGLEVEL=7 > CONFIG_DEFAULT_LOGLEVEL=6 > > Which is the current default combination for barebox. > > Before: > > Booting entry 'system0' > FIT: Reading time: 6722 ms > > After: > > Booting entry 'system0' > FIT: Reading time: 324 ms This is the time with these two patches applied or with compile log level changed? Cheers, Ahmad > > Signed-off-by: Stefan Kerkmann <s.kerkmann@pengutronix.de> > --- > Stefan Kerkmann (2): > block: downgrade noisy debug calls to verbose debug > fs: ramfs: downgrade noisy debug calls to verbose debug > > common/block.c | 4 ++-- > fs/ramfs.c | 10 +++++----- > 2 files changed, 7 insertions(+), 7 deletions(-) > --- > base-commit: 59658c877bcc605fe3ca36653b4f40f57856b81a > change-id: 20241028-fix-noisy-debug-calls-a6d6185be705 > > Best regards, -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs 2024-10-28 16:44 ` [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs Ahmad Fatoum @ 2024-10-28 16:57 ` Stefan Kerkmann 0 siblings, 0 replies; 10+ messages in thread From: Stefan Kerkmann @ 2024-10-28 16:57 UTC (permalink / raw) To: Ahmad Fatoum, Sascha Hauer, BAREBOX Hi Ahmad, On 28.10.24 17:44, Ahmad Fatoum wrote: > Hi, > > On 28.10.24 17:17, Stefan Kerkmann wrote: >> These two patches are the outcome of an investigation why loading a >> fitimage from an eMMC took nearly 7s - the sheer amount of generated >> debugging messages slowed down the system by a factor of ~21 with >> KConfig options: >> >> CONFIG_COMPILE_LOGLEVEL=7 >> CONFIG_DEFAULT_LOGLEVEL=6 >> >> Which is the current default combination for barebox. >> >> Before: >> >> Booting entry 'system0' >> FIT: Reading time: 6722 ms >> >> After: >> >> Booting entry 'system0' >> FIT: Reading time: 324 ms > > This is the time with these two patches applied or with > compile log level changed? > This is the time with both patches applied and the mentioned default log levels. Cheers, Stefan > Cheers, > Ahmad > >> >> Signed-off-by: Stefan Kerkmann <s.kerkmann@pengutronix.de> >> --- >> Stefan Kerkmann (2): >> block: downgrade noisy debug calls to verbose debug >> fs: ramfs: downgrade noisy debug calls to verbose debug >> >> common/block.c | 4 ++-- >> fs/ramfs.c | 10 +++++----- >> 2 files changed, 7 insertions(+), 7 deletions(-) >> --- >> base-commit: 59658c877bcc605fe3ca36653b4f40f57856b81a >> change-id: 20241028-fix-noisy-debug-calls-a6d6185be705 >> >> Best regards, > > -- Pengutronix e.K. | Stefan Kerkmann | Steuerwalder Str. 21 | https://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-128 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 | ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs 2024-10-28 16:17 [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs Stefan Kerkmann ` (2 preceding siblings ...) 2024-10-28 16:44 ` [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs Ahmad Fatoum @ 2024-10-29 13:33 ` Sascha Hauer 2024-10-29 13:55 ` Ahmad Fatoum 2024-10-29 14:12 ` Stefan Kerkmann 2024-10-30 8:47 ` Sascha Hauer 4 siblings, 2 replies; 10+ messages in thread From: Sascha Hauer @ 2024-10-29 13:33 UTC (permalink / raw) To: Stefan Kerkmann; +Cc: BAREBOX On Mon, Oct 28, 2024 at 05:17:00PM +0100, Stefan Kerkmann wrote: > These two patches are the outcome of an investigation why loading a > fitimage from an eMMC took nearly 7s - the sheer amount of generated > debugging messages slowed down the system by a factor of ~21 with > KConfig options: > > CONFIG_COMPILE_LOGLEVEL=7 > CONFIG_DEFAULT_LOGLEVEL=6 > > Which is the current default combination for barebox. This is not the default combination. The default is: CONFIG_COMPILE_LOGLEVEL=6 CONFIG_DEFAULT_LOGLEVEL=7 The rationale is: Do not compile in debug messages by default (CONFIG_COMPILE_LOGLEVEL=6) unless DEBUG is defined in a source file. When DEBUG is defined then make sure the messages are printed (CONFIG_DEFAULT_LOGLEVEL=7). There are tons of debug messages throughout the code which normally shouldn't be compiled into the binay. Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs 2024-10-29 13:33 ` Sascha Hauer @ 2024-10-29 13:55 ` Ahmad Fatoum 2024-10-29 14:12 ` Stefan Kerkmann 1 sibling, 0 replies; 10+ messages in thread From: Ahmad Fatoum @ 2024-10-29 13:55 UTC (permalink / raw) To: Sascha Hauer, Stefan Kerkmann; +Cc: BAREBOX Hello Sascha, On 29.10.24 14:33, Sascha Hauer wrote: > On Mon, Oct 28, 2024 at 05:17:00PM +0100, Stefan Kerkmann wrote: >> These two patches are the outcome of an investigation why loading a >> fitimage from an eMMC took nearly 7s - the sheer amount of generated >> debugging messages slowed down the system by a factor of ~21 with >> KConfig options: >> >> CONFIG_COMPILE_LOGLEVEL=7 >> CONFIG_DEFAULT_LOGLEVEL=6 >> >> Which is the current default combination for barebox. > > This is not the default combination. The default is: > > CONFIG_COMPILE_LOGLEVEL=6 > CONFIG_DEFAULT_LOGLEVEL=7 > > The rationale is: > > Do not compile in debug messages by default (CONFIG_COMPILE_LOGLEVEL=6) > unless DEBUG is defined in a source file. When DEBUG is defined then make > sure the messages are printed (CONFIG_DEFAULT_LOGLEVEL=7). > > There are tons of debug messages throughout the code which normally > shouldn't be compiled into the binay. These debug messages are overly verbose though. >13 messages (and thus allocations) per read MMC block isn't useful. Cheers, Ahmad > > Sascha > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs 2024-10-29 13:33 ` Sascha Hauer 2024-10-29 13:55 ` Ahmad Fatoum @ 2024-10-29 14:12 ` Stefan Kerkmann 2024-10-30 8:50 ` Sascha Hauer 1 sibling, 1 reply; 10+ messages in thread From: Stefan Kerkmann @ 2024-10-29 14:12 UTC (permalink / raw) To: Sascha Hauer; +Cc: BAREBOX Hi Sascha, On 29.10.24 14:33, Sascha Hauer wrote: > On Mon, Oct 28, 2024 at 05:17:00PM +0100, Stefan Kerkmann wrote: >> These two patches are the outcome of an investigation why loading a >> fitimage from an eMMC took nearly 7s - the sheer amount of generated >> debugging messages slowed down the system by a factor of ~21 with >> KConfig options: >> >> CONFIG_COMPILE_LOGLEVEL=7 >> CONFIG_DEFAULT_LOGLEVEL=6 >> >> Which is the current default combination for barebox. > > This is not the default combination. The default is: > > CONFIG_COMPILE_LOGLEVEL=6 > CONFIG_DEFAULT_LOGLEVEL=7 > Oh! You are right, I totally mixed that up. > The rationale is: > > Do not compile in debug messages by default (CONFIG_COMPILE_LOGLEVEL=6) > unless DEBUG is defined in a source file. When DEBUG is defined then make > sure the messages are printed (CONFIG_DEFAULT_LOGLEVEL=7). > > There are tons of debug messages throughout the code which normally > shouldn't be compiled into the binay. > When triaging a problem I like to gather a good overview by generally enabling all debugging messages. But the important bits would drown in the block/ramfs messages. So I would still argue that it is worthwhile to downgrade the level to verbose debug. Cheers, Stefan > Sascha > -- Pengutronix e.K. | Stefan Kerkmann | Steuerwalder Str. 21 | https://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-128 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 | ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs 2024-10-29 14:12 ` Stefan Kerkmann @ 2024-10-30 8:50 ` Sascha Hauer 0 siblings, 0 replies; 10+ messages in thread From: Sascha Hauer @ 2024-10-30 8:50 UTC (permalink / raw) To: Stefan Kerkmann; +Cc: BAREBOX On Tue, Oct 29, 2024 at 03:12:59PM +0100, Stefan Kerkmann wrote: > Hi Sascha, > > On 29.10.24 14:33, Sascha Hauer wrote: > > On Mon, Oct 28, 2024 at 05:17:00PM +0100, Stefan Kerkmann wrote: > >> These two patches are the outcome of an investigation why loading a > >> fitimage from an eMMC took nearly 7s - the sheer amount of generated > >> debugging messages slowed down the system by a factor of ~21 with > >> KConfig options: > >> > >> CONFIG_COMPILE_LOGLEVEL=7 > >> CONFIG_DEFAULT_LOGLEVEL=6 > >> > >> Which is the current default combination for barebox. > > > > This is not the default combination. The default is: > > > > CONFIG_COMPILE_LOGLEVEL=6 > > CONFIG_DEFAULT_LOGLEVEL=7 > > > > Oh! You are right, I totally mixed that up. > > > The rationale is: > > > > Do not compile in debug messages by default (CONFIG_COMPILE_LOGLEVEL=6) > > unless DEBUG is defined in a source file. When DEBUG is defined then make > > sure the messages are printed (CONFIG_DEFAULT_LOGLEVEL=7). > > > > There are tons of debug messages throughout the code which normally > > shouldn't be compiled into the binay. > > > > When triaging a problem I like to gather a good overview by generally enabling > all debugging messages. But the important bits would drown in the block/ramfs > messages. So I would still argue that it is worthwhile to downgrade the level to > verbose debug. Yes, indeed. We should prefer pr_vdebug/dev_vdbg in hotpaths. Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs 2024-10-28 16:17 [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs Stefan Kerkmann ` (3 preceding siblings ...) 2024-10-29 13:33 ` Sascha Hauer @ 2024-10-30 8:47 ` Sascha Hauer 4 siblings, 0 replies; 10+ messages in thread From: Sascha Hauer @ 2024-10-30 8:47 UTC (permalink / raw) To: BAREBOX, Stefan Kerkmann On Mon, 28 Oct 2024 17:17:00 +0100, Stefan Kerkmann wrote: > These two patches are the outcome of an investigation why loading a > fitimage from an eMMC took nearly 7s - the sheer amount of generated > debugging messages slowed down the system by a factor of ~21 with > KConfig options: > > CONFIG_COMPILE_LOGLEVEL=7 > CONFIG_DEFAULT_LOGLEVEL=6 > > [...] Applied, thanks! [1/2] block: downgrade noisy debug calls to verbose debug https://git.pengutronix.de/cgit/barebox/commit/?id=e3c8e1efda5b (link may not be stable) [2/2] fs: ramfs: downgrade noisy debug calls to verbose debug https://git.pengutronix.de/cgit/barebox/commit/?id=958909804650 (link may not be stable) Best regards, -- Sascha Hauer <s.hauer@pengutronix.de> ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-10-30 8:51 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-10-28 16:17 [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs Stefan Kerkmann 2024-10-28 16:17 ` [PATCH 1/2] block: downgrade noisy debug calls to verbose debug Stefan Kerkmann 2024-10-28 16:17 ` [PATCH 2/2] fs: ramfs: " Stefan Kerkmann 2024-10-28 16:44 ` [PATCH 0/2] downgrade noisy debug calls in block devices and ramfs Ahmad Fatoum 2024-10-28 16:57 ` Stefan Kerkmann 2024-10-29 13:33 ` Sascha Hauer 2024-10-29 13:55 ` Ahmad Fatoum 2024-10-29 14:12 ` Stefan Kerkmann 2024-10-30 8:50 ` Sascha Hauer 2024-10-30 8:47 ` Sascha Hauer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox