[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4FB3C690.4000006@redhat.com>
Date: Wed, 16 May 2012 12:24:00 -0300
From: Mauro Carvalho Chehab <mchehab@...hat.com>
To: Steven Rostedt <rostedt@...dmis.org>
CC: Borislav Petkov <bp@...64.org>, "Luck, Tony" <tony.luck@...el.com>,
Linux Edac Mailing List <linux-edac@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Doug Thompson <norsk5@...oo.com>,
Frederic Weisbecker <fweisbec@...il.com>,
Ingo Molnar <mingo@...hat.com>
Subject: Re: [PATCH v22] edac, ras/hw_event.h: use events to handle hw issues
Em 16-05-2012 09:48, Steven Rostedt escreveu:
> On Tue, 2012-05-15 at 18:38 +0200, Borislav Petkov wrote:
>> On Tue, May 15, 2012 at 01:05:48PM -0300, Mauro Carvalho Chehab wrote:
>>>> Here's what an error looks like on my system here:
>>>>
>>>> mcegen.py-2868 [007] .N.. 178.261607: mc_event: Corrected error:amd64_edac on memory stick "unknown memory" (mc:0 csrow:3 channel:1 page:0x5bac7 offset:0x388 grain:0 syndrome:0x34ed )
>>>>
>>>> There's still this trailing " " at the end of the error line which
>>>> shouldn't be there and also two spaces between "channel" and "page".
>>>
>>> If you take a look at the trace printk:
>>>
>>> + TP_printk("%s error:%s on memory stick \"%s\" (mc:%d %s %s %s)",
>>> + (__entry->err_type == HW_EVENT_ERR_CORRECTED) ? "Corrected" :
>>> + ((__entry->err_type == HW_EVENT_ERR_FATAL) ?
>>> +
>>> + __get_str(msg),
>>> + __get_str(label),
>>> + __entry->mc_index,
>>> + __get_str(location),
>>> + __get_str(detail),
>>> + __get_str(driver_detail))
>>>
>>> There are not extra spaces there. The first extra space is probably because
>>> there is an extra space at the label string. This should be easy to fix.
>>>
>>> The other extra space at the end is because amd64 currently doesn't provide
>>> driver_detail information.
>>
>> Remind me again why do we need two strings: detail and driver_detail?
>>
>> Because they could very well be lumped together with a single "%s"
>> format - "(mc:%d %s)" - and be printed.
>>
>> And detail will always contain something which is not the empty string,
>> so problem solved.
>
> Here's another trick if you want to get rid of the space and keep both
> fields:
>
> TP_printk("%s error:%s on memory stick \"%s\" (mc:%d %s %s%s%s)",
> (__entry->err_type == HW_EVENT_ERR_CORRECTED) ? "Corrected" :
> ((__entry->err_type == HW_EVENT_ERR_FATAL) ?
> "Fatal" : "Uncorrected"),
>
> __get_str(msg),
> __get_str(label),
> __entry->mc_index,
> __get_str(location),
> __get_str(detail),
> strlen(__get_str(detail)) &&
> strlen(__get_str(driver_detail) ? " ": "",
> __get_str(driver_detail))
Great! I'll use that trick, thanks!
>
> -- Steve
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-edac" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists