Messages in this thread | | | Date | Wed, 5 Dec 2018 20:50:41 +0900 | From | Sergey Senozhatsky <> | Subject | Re: [PATCH] printk: Add caller information to printk() output. |
| |
On (12/05/18 19:42), Tetsuo Handa wrote: > >> > >> PID_MAX_LIMIT is 4194304, which can take up to 10 bytes if [T%u] is used. > > > > 4194304 is the worst case. I would use the same approach as with the > > timestamp seconds. It uses 5 characters as the minimum. But it might > > eventully get bigger. > > > > IMHO, [T%5u] looks like a reasonable default. > > > > While "%5lu.%06lu" for uptime does not decrease over time (and hence changing > to "%lu.%06lu" does not cause wavy output), "[%6s]" for T$thread_id will cause > wavy output after PID reached 100000. Isn't it hard to parse after all?
100000 is a lot. So I'd say we are fine.
A side note:
Do we need PIDs at all? PIDs don't tell that much. When you are grepping serial log you can't actually tell if PID 15000 there and PID 15000 here, 200000 log lines apart, are same processes; or did PIDs wrap around? And you probably don't even care. All you need is a way to reconstruct a message around some very specific place in the log - say in a range [-500, +500] lines, assuming that a backtrace you are trying to reconstruct is badly fragmented. I think, even 3 lower digits of a PID should do the trick.
-ss
| |