From 7d6f545ec532b9cf3379e7385a8a620d4ff74547 Mon Sep 17 00:00:00 2001 From: Yue Sun Date: Tue, 5 Nov 2019 21:13:54 -0500 Subject: [PATCH] Revert "Revert "printk: add cpu info into kernel log"" Revert this change since we finally decided not to enable Samsung CONFIG_PRINTK_PROCESS, https://gerrit.mot.com/#/c/1435442/ had been abandoned Change-Id: Ic60281e58b15656199666da976721340cd692dcd Reviewed-on: https://gerrit.mot.com/1449799 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Xiangpo Zhao Submit-Approved: Jira Key --- kernel/printk/printk.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 8e916e97237d..b8d5b4a97821 100755 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -361,10 +361,10 @@ struct printk_log { u8 facility; /* syslog facility */ u8 flags:5; /* internal record flags */ u8 level:3; /* syslog level */ + u8 cpu; /* cpu id */ #ifdef CONFIG_PRINTK_PROCESS char process[16]; /* process name */ pid_t pid; /* process id */ - u8 cpu; /* cpu id */ u8 in_interrupt; /* interrupt context */ #endif } @@ -575,11 +575,10 @@ static size_t print_process(const struct printk_log *msg, char *buf) return 0; if (!buf) - return snprintf(NULL, 0, "%c[%1d:%15s:%5d] ", ' ', 0, " ", 0); + return snprintf(NULL, 0, "%c[%15s:%5d] ", ' ', " ", 0); - return sprintf(buf, "%c[%1d:%15s:%5d] ", + return sprintf(buf, "%c[%15s:%5d] ", msg->in_interrupt ? 'I' : ' ', - msg->cpu, msg->process, msg->pid); } @@ -736,12 +735,12 @@ static int log_store(int facility, int level, memset(log_dict(msg) + dict_len, 0, pad_len); msg->len = size; + msg->cpu = smp_processor_id(); #ifdef CONFIG_PRINTK_PROCESS if (printk_process) { strncpy(msg->process, current->comm, sizeof(msg->process) - 1); msg->process[sizeof(msg->process) - 1] = '\0'; msg->pid = task_pid_nr(current); - msg->cpu = smp_processor_id(); msg->in_interrupt = in_interrupt() ? 1 : 0; } #endif @@ -1338,7 +1337,7 @@ static inline void boot_delay_msec(int level) static bool printk_time = IS_ENABLED(CONFIG_PRINTK_TIME); module_param_named(time, printk_time, bool, S_IRUGO | S_IWUSR); -static size_t print_time(u64 ts, char *buf) +static size_t print_time(u64 ts, char *buf, u8 cpu) { unsigned long rem_nsec; @@ -1348,10 +1347,10 @@ static size_t print_time(u64 ts, char *buf) rem_nsec = do_div(ts, 1000000000); if (!buf) - return snprintf(NULL, 0, "[%5lu.000000] ", (unsigned long)ts); + return snprintf(NULL, 0, "[%5lu.000000,%u] ", (unsigned long)ts, cpu); - return sprintf(buf, "[%5lu.%06lu] ", - (unsigned long)ts, rem_nsec / 1000); + return sprintf(buf, "[%5lu.%06lu,%u] ", + (unsigned long)ts, rem_nsec / 1000,cpu); } static size_t print_prefix(const struct printk_log *msg, bool syslog, char *buf) @@ -1373,7 +1372,8 @@ static size_t print_prefix(const struct printk_log *msg, bool syslog, char *buf) } } - len += print_time(msg->ts_nsec, buf ? buf + len : NULL); + len += print_time(msg->ts_nsec, buf ? buf + len : NULL, + msg->cpu); #ifndef CONFIG_PRINTK_UTC_TIME len += print_process(msg, buf ? buf + len : NULL); #endif -- 2.20.1