Messages in this thread | | | Date | Sat, 11 Jan 2014 12:35:25 +0100 | From | Pavel Machek <> | Subject | Re: [PATCH] lib/vsprintf: add %pT format specifier |
| |
On Fri 2014-01-10 17:57:30, Andrew Morton wrote: > On Sat, 11 Jan 2014 10:28:51 +0900 Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> wrote: > > > Andrew Morton wrote: > > > On Thu, 9 Jan 2014 21:52:00 +0900 Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> wrote: > > > > > > > This patch introduces %pT format specifier for printing task_struct->comm. > > > > Currently %pT does not provide consistency. I'm planning to change to use RCU > > > > in the future. By using RCU, the comm name read from task_struct->comm will be > > > > guaranteed to be consistent. But before modifying set_task_comm() to use RCU, > > > > we need to kill direct ->comm users who do not use get_task_comm(). > > > > > > On reflection... > > > > > > It isn't obvious that this patch is sufficiently beneficial until we > > > have that RCU code in place. > > > > > > So I could retain this patch in -mm until we have that all sorted out. > > > And I'll have to avoid merging %pT users into mainline in the > > > meanwhile! > > > > > > Am I wrong? The patch seems fairly pointless as a standalone thing? > > > > > > > Step 1: (targeted to 3.14-rc1) > > Add "%pT" format specifier and commcpy() wrapper function. > > > > Step 2: (started after step 1 is reflected to other git trees) > > Replace printk("%s", p->comm) with printk("%pT", p). > > Replace strcpy(buf, p->comm) with commcpy(buf, p). > > > > Step 3: (started after step 2 is reflected to other git trees) > > Add rcu_read_lock()/rcu_read_unlock() into commcpy(). > > Modify set_task_comm() etc. to replace ->comm using RCU. > > In the absence of step 3, steps 1 and 2 are rather pointless churn.
Dunno. Given how often it appears in the code, it looks to me like step 1 is worthwile cleanup on its own... Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
| |