From: walter harms <wharms@bfs.de>
To: kernel-janitors@vger.kernel.org
Subject: Re: [patch] printk: remove some dead code
Date: Tue, 03 Jul 2012 18:43:06 +0000 [thread overview]
Message-ID: <4FF33D3A.4040005@bfs.de> (raw)
In-Reply-To: <20120703104511.GA29501@elgon.mountain>
Am 03.07.2012 19:59, schrieb Kay Sievers:
> On Tue, 2012-07-03 at 13:21 +0200, Kay Sievers wrote:
>> On Tue, Jul 3, 2012 at 12:45 PM, Dan Carpenter <dan.carpenter@oracle.com> wrote:
>>> Static checkers complain about the impossible condition here.
>>>
>>> In 084681d14e ('printk: flush continuation lines immediately to
>>> console'), we changed msg->level from being a u16 to being an unsigned
>>> 3 bit bitfield. That means we can remove the code here to handle log
>>> levels which are in the tens or hundreds column.
>>
>> We should do that for the facility value, now that level is split up
>> in separate fields. I'll prepare a fix.
>
> Here it is. Nice tool, very useful.
>
> Thanks again,
> Kay
>
>
> From: Kay Sievers <kay@vrfy.org>
> Subject: kmsg: add the facility number to the syslog prefix
>
> After the recent split of facility and level into separate variables,
> we miss the facility value (always 0 for kernel-originated messages)
> in the syslog prefix.
>
> On Tue, Jul 3, 2012 at 12:45 PM, Dan Carpenter <dan.carpenter@oracle.com> wrote:
>> Static checkers complain about the impossible condition here.
>>
>> In 084681d14e ('printk: flush continuation lines immediately to
>> console'), we changed msg->level from being a u16 to being an unsigned
>> 3 bit bitfield.
>
> Cc: Dan Carpenter <dan.carpenter@oracle.com>
> Signed-off-by: Kay Sievers <kay@vrfy.org>
> ---
> kernel/printk.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> --- a/kernel/printk.c
> +++ b/kernel/printk.c
> @@ -818,15 +818,16 @@ static size_t print_time(u64 ts, char *b
> static size_t print_prefix(const struct log *msg, bool syslog, char *buf)
> {
> size_t len = 0;
> + unsigned int prefix = (msg->facility << 3) | msg->level;
>
> if (syslog) {
> if (buf) {
> - len += sprintf(buf, "<%u>", msg->level);
> + len += sprintf(buf, "<%u>", prefix);
> } else {
> len += 3;
> - if (msg->level > 9)
> + if (prefix > 9)
> len++;
> - if (msg->level > 99)
> + if (prefix > 99)
> len++;
> }
> }
>
>
just for my curiosity: why not len+=5 and forget the rest ?
re,
wh
next prev parent reply other threads:[~2012-07-03 18:43 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-03 10:45 [patch] printk: remove some dead code Dan Carpenter
2012-07-03 11:21 ` Kay Sievers
2012-07-03 17:59 ` Kay Sievers
2012-07-03 18:43 ` walter harms [this message]
2012-07-03 19:34 ` Kay Sievers
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=4FF33D3A.4040005@bfs.de \
--to=wharms@bfs.de \
--cc=kernel-janitors@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox