mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-03 09:00:21 +00:00
loader printf: Profile with TSLOG
Now that the loader tslog code doesn't call printf, we can profile printf using TSLOG. On an EC2 c5.xlarge instance, we spend roughly 45 ms here (out of roughly 500 ms), presumably due to the time spent writing output to the console. MFC after: 1 week Sponsored by: https://www.patreon.com/cperciva
This commit is contained in:
parent
242923eb84
commit
0a35c4b3ca
@ -271,6 +271,7 @@ kvprintf(char const *fmt, kvprintf_fn_t *func, void *arg, int radix, va_list ap)
|
||||
char padc;
|
||||
int stop = 0, retval = 0;
|
||||
|
||||
TSENTER();
|
||||
num = 0;
|
||||
if (!func)
|
||||
d = (char *) arg;
|
||||
@ -287,8 +288,10 @@ kvprintf(char const *fmt, kvprintf_fn_t *func, void *arg, int radix, va_list ap)
|
||||
padc = ' ';
|
||||
width = 0;
|
||||
while ((ch = (u_char)*fmt++) != '%' || stop) {
|
||||
if (ch == '\0')
|
||||
if (ch == '\0') {
|
||||
TSEXIT();
|
||||
return (retval);
|
||||
}
|
||||
PCHAR(ch);
|
||||
}
|
||||
percent = fmt - 1;
|
||||
|
Loading…
Reference in New Issue
Block a user