On Tue, 28 Mar 2017 19:15:28 +0530 Mahesh J Salgaonkar <mah...@linux.vnet.ibm.com> wrote:
> From: Mahesh Salgaonkar <mah...@linux.vnet.ibm.com> > > For MCE that hit while in use mode MSR(HV=1,PR=1), print the task info on the > console MCE error log. This will help to identify application that stumbled > upon MCE error. I think you may still want these details for a task currently in kernel. How about something like if (!in_interrupt()) { > @@ -311,8 +312,13 @@ void machine_check_print_event_info(struct > machine_check_event *evt) > printk("%s%s Machine check interrupt [%s]\n", level, sevstr, > evt->disposition == MCE_DISPOSITION_RECOVERED ? > "Recovered" : "Not recovered"); > - printk("%s NIP [%016llx]: %pS\n", level, evt->srr0, > + if (user_mode) { > + printk("%s NIP: [%016llx] PID: %d Comm: %s\n", level, > + evt->srr0, current->pid, current->comm); > + } else { > + printk("%s NIP [%016llx]: %pS\n", level, evt->srr0, > (void *)evt->srr0); > + } > printk("%s Initiator: %s\n", level, > evt->initiator == MCE_INITIATOR_CPU ? "CPU" : "Unknown"); > switch (evt->error_type) {