Message ID | 20140613070928.GA29351@gchen.bj.intel.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Fri, Jun 13, 2014 at 03:09:28AM -0400, Chen, Gong wrote: > On Thu, Jun 12, 2014 at 11:08:33PM -0400, Steven Rostedt wrote: > > > > > The above array works, but I'm wondering why you don't just use the > > > > > types themselves? > > > > > > > > > > That is: > > > > > > > > > > __field(uuid_le, fru_id) > > > > > __field(struct cper_mem_err_compact, data) > > > > > > > > > Every time when I use above codes I will hit some compiler error like > > > > "error: conversion to non-scalar type requested". It looks some > > > > data types like above (unless typedef) can't be used in __field. > > > > Is it true? How to fix that? > > > > > > > > > > Ah, that's a bug in the ftrace.h file. I'll need to test this against > > > it to see what error it gives. I'll work on that tomorrow as it's > > > bedtime for me now. > > > > Wait, I take that back. I was thinking the error was with the > > __array(). A __field() should work fine! > > > > Can you post me the patch you did and the error you get when you > > compile. > > Here is the incremented patch & compiler error. > PS: the same issue for __field(struct cper_mem_err_compact, data) > > diff --git a/include/ras/ras_event.h b/include/ras/ras_event.h > index a794691..174aac1 100644 > --- a/include/ras/ras_event.h > +++ b/include/ras/ras_event.h > @@ -35,7 +35,7 @@ TRACE_EVENT(extlog_mem_event, > __field(u8, sev) > __field(u64, pa) > __field(u8, pa_mask_lsb) > - __array(u8, fru_id, sizeof(uuid_le)) > + __field(uuid_le, fru_id) > __string(fru_text, fru_text) > __array(u8, data, sizeof(struct cper_mem_err_compact)) > ), > @@ -56,7 +56,7 @@ TRACE_EVENT(extlog_mem_event, > __entry->pa_mask_lsb = (u8)__ffs64(mem->physical_addr_mask); > else > __entry->pa_mask_lsb = ~0; > - memcpy(__entry->fru_id, fru_id, sizeof(uuid_le)); > + __entry->fru_id = *fru_id; > __assign_str(fru_text, fru_text); > cper_mem_err_pack(mem, __entry->data); > ), > @@ -68,7 +68,7 @@ TRACE_EVENT(extlog_mem_event, > __entry->pa, > __entry->pa_mask_lsb, > cper_mem_err_unpack(p, __entry->data), > - __entry->fru_id, > + &__entry->fru_id, > __get_str(fru_text)) > ); > > > In file included from include/trace/define_trace.h:90:0, > from include/ras/ras_event.h:226, > from drivers/ras/ras.c:13: > include/trace/../../include/ras/ras_event.h: In function ‘ftrace_define_fields_extlog_mem_event’: > include/trace/ftrace.h:330:9: error: conversion to non-scalar type requested > struct ftrace_raw_##call field; \ > ^ > include/trace/ftrace.h:32:2: note: in expansion of macro ‘DECLARE_EVENT_CLASS’ > DECLARE_EVENT_CLASS(name, \ > ^ > include/trace/../../include/ras/ras_event.h:23:1: note: in expansion of macro ‘TRACE_EVENT’ > TRACE_EVENT(extlog_mem_event, > ^ > include/trace/ftrace.h:330:9: error: conversion to non-scalar type requested > struct ftrace_raw_##call field; \ > ^ > include/trace/ftrace.h:32:2: note: in expansion of macro ‘DECLARE_EVENT_CLASS’ > DECLARE_EVENT_CLASS(name, \ > ^ > include/trace/../../include/ras/ras_event.h:23:1: note: in expansion of macro ‘TRACE_EVENT’ > TRACE_EVENT(extlog_mem_event, > ^ > scripts/Makefile.build:318: recipe for target 'drivers/ras/ras.o' failed > Any update, Steven?
On Mon, 16 Jun 2014 22:09:37 -0400 "Chen, Gong" <gong.chen@linux.intel.com> wrote: > > Any update, Steven? Sorry I missed this. Claws-mail has an annoying tendency when I have something selected and I get new mail, it turns all my mail to read except the mail that just came in. I need to figure out that bug and fix it :-( Anyway, I know what your issue is. It's the check for signed type. It doesn't work for structures. I'm working on a way to fix that. -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 5/7 REVISION v2] trace, RAS: Add eMCA trace event interface Hi, Steven Your patch works well. Here is the updated patch based on your patch. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/ras/ras_event.h b/include/ras/ras_event.h index a794691..174aac1 100644 --- a/include/ras/ras_event.h +++ b/include/ras/ras_event.h @@ -35,7 +35,7 @@ TRACE_EVENT(extlog_mem_event, __field(u8, sev) __field(u64, pa) __field(u8, pa_mask_lsb) - __array(u8, fru_id, sizeof(uuid_le)) + __field(uuid_le, fru_id) __string(fru_text, fru_text) __array(u8, data, sizeof(struct cper_mem_err_compact)) ), @@ -56,7 +56,7 @@ TRACE_EVENT(extlog_mem_event, __entry->pa_mask_lsb = (u8)__ffs64(mem->physical_addr_mask); else __entry->pa_mask_lsb = ~0; - memcpy(__entry->fru_id, fru_id, sizeof(uuid_le)); + __entry->fru_id = *fru_id; __assign_str(fru_text, fru_text); cper_mem_err_pack(mem, __entry->data); ), @@ -68,7 +68,7 @@ TRACE_EVENT(extlog_mem_event, __entry->pa, __entry->pa_mask_lsb, cper_mem_err_unpack(p, __entry->data), - __entry->fru_id, + &__entry->fru_id, __get_str(fru_text)) );