[dpdk-dev,1/2] log: remove useless intermediate buffer
Checks
Commit Message
Rather than copy the log message, we can use a precision in the format
string given to syslog.
Fixes: af75078fece3 ("first public release")
Signed-off-by: David Marchand <david.marchand@6wind.com>
---
lib/librte_eal/linuxapp/eal/eal_log.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
Comments
On Thu, May 31, 2018 at 10:03:27AM +0200, David Marchand wrote:
> Rather than copy the log message, we can use a precision in the format
> string given to syslog.
>
> Fixes: af75078fece3 ("first public release")
> Signed-off-by: David Marchand <david.marchand@6wind.com>
Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
25/06/2018 16:42, Olivier Matz:
> On Thu, May 31, 2018 at 10:03:27AM +0200, David Marchand wrote:
> > Rather than copy the log message, we can use a precision in the format
> > string given to syslog.
> >
> > Fixes: af75078fece3 ("first public release")
I remove the Fixes: line because we don't need to backport
this patch. I consider it is not a fix.
> > Signed-off-by: David Marchand <david.marchand@6wind.com>
>
> Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
Applied, thanks
On Wed, Jun 27, 2018 at 6:19 PM, Thomas Monjalon <thomas@monjalon.net> wrote:
> 25/06/2018 16:42, Olivier Matz:
>> On Thu, May 31, 2018 at 10:03:27AM +0200, David Marchand wrote:
>> > Rather than copy the log message, we can use a precision in the format
>> > string given to syslog.
>> >
>> > Fixes: af75078fece3 ("first public release")
>
> I remove the Fixes: line because we don't need to backport
> this patch. I consider it is not a fix.
Yes, clearly, no need for backport.
Thanks.
@@ -25,25 +25,14 @@
static ssize_t
console_log_write(__attribute__((unused)) void *c, const char *buf, size_t size)
{
- char copybuf[BUFSIZ + 1];
ssize_t ret;
- uint32_t loglevel;
/* write on stdout */
ret = fwrite(buf, 1, size, stdout);
fflush(stdout);
- /* truncate message if too big (should not happen) */
- if (size > BUFSIZ)
- size = BUFSIZ;
-
/* Syslog error levels are from 0 to 7, so subtract 1 to convert */
- loglevel = rte_log_cur_msg_loglevel() - 1;
- memcpy(copybuf, buf, size);
- copybuf[size] = '\0';
-
- /* write on syslog too */
- syslog(loglevel, "%s", copybuf);
+ syslog(rte_log_cur_msg_loglevel() - 1, "%.*s", (int)size, buf);
return ret;
}