Re: [PATCH] ftrace: fix task's invalid comm of <...> when big pid

From: Wang Yu
Date: Fri Mar 30 2018 - 04:22:03 EST




å 18/3/29 äå10:26, Steven Rostedt åé:
On Thu, 29 Mar 2018 10:16:22 +0800
Wang Yu <yuwang@xxxxxxxxxxxxxxxxx> wrote:

What you can do is make that map_pid_to_cmdline array bigger.

-- Steve
I am sorry about it, and as the number of cpu cores increases, the current

PID_MAX_DEFAULT is too small, our online machines set the pid_max 65536 as default, so the task
pid number bigger than PID_MAX_DEFAULT can't show the real comm (only <...>), so i want to
ajust the PID_MAX_DEFAULT upto 4x, and what do you think?

* This controls the default maximum pid allocated to a process
*/
-#define PID_MAX_DEFAULT (CONFIG_BASE_SMALL ? 0x1000 : 0x8000)
+#define PID_MAX_DEFAULT (CONFIG_BASE_SMALL ? 0x1000 : 0x20000)
What I was thinking is to make the map_pid_to_cmdline array dynamic
(not static), and be set to pid_max (after pid_max is determined).

Now, pid_max can be changed at run time. Thus, the tracing code will
need to keep a separate variable for that array to store the length. It
can not rely on pid_max. But if a pid that is greater than pid_max is
found, we could kick off a work thread to increase the array.
thanks for your reply, thanks, if map_pid_to_cmdline need dynamic, saved_cmdlines_buffer