On Tue, Aug 22, 2023 at 11:22:17AM +1000, Stephen Rothwell wrote: > Hi Matthew, > > On Tue, 22 Aug 2023 02:11:44 +0100 Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > > > On Tue, Aug 22, 2023 at 09:55:37AM +1000, Stephen Rothwell wrote: > > > In file included from include/trace/trace_events.h:27, > > > from include/trace/define_trace.h:102, > > > from fs/xfs/xfs_trace.h:4428, > > > from fs/xfs/xfs_trace.c:45: > > > include/linux/pgtable.h:8:25: error: initializer element is not constant > > > 8 | #define PMD_ORDER (PMD_SHIFT - PAGE_SHIFT) > > > > Ummm. PowerPC doesn't have a compile-time constant PMD size? > > Yeah, you are not the first (or probably the last) to be caught by that. I think this will do the trick. Any comments? diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 1904eaf7a2e9..d5a4e6c2dcd1 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -796,15 +796,6 @@ DEFINE_INODE_EVENT(xfs_inode_reclaiming); DEFINE_INODE_EVENT(xfs_inode_set_need_inactive); DEFINE_INODE_EVENT(xfs_inode_inactivating); -/* - * ftrace's __print_symbolic requires that all enum values be wrapped in the - * TRACE_DEFINE_ENUM macro so that the enum value can be encoded in the ftrace - * ring buffer. Somehow this was only worth mentioning in the ftrace sample - * code. - */ -TRACE_DEFINE_ENUM(PMD_ORDER); -TRACE_DEFINE_ENUM(PUD_ORDER); - TRACE_DEFINE_ENUM(XFS_REFC_DOMAIN_SHARED); TRACE_DEFINE_ENUM(XFS_REFC_DOMAIN_COW); @@ -823,13 +814,10 @@ TRACE_EVENT(xfs_filemap_fault, __entry->order = order; __entry->write_fault = write_fault; ), - TP_printk("dev %d:%d ino 0x%llx %s write_fault %d", + TP_printk("dev %d:%d ino 0x%llx order:%u write_fault %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, - __print_symbolic(__entry->order, - { 0, "PTE" }, - { PMD_ORDER, "PMD" }, - { PUD_ORDER, "PUD" }), + __entry->order, __entry->write_fault) )