Messages in this thread | | | Subject | Re: [PATCH 1/2] mm, printk: introduce new format string for flags | From | Vlastimil Babka <> | Date | Wed, 2 Dec 2015 22:04:25 +0100 |
| |
On 12/02/2015 06:40 PM, yalin wang wrote:
(please trim your reply next time, no need to quote whole patch here)
> i am thinking why not make %pg* to be more generic ? > not restricted to only GFP / vma flags / page flags . > so could we change format like this ? > define a flag spec struct to include flag and trace_print_flags and some other option : > typedef struct { > unsigned long flag; > struct trace_print_flags *flags; > unsigned long option; } flag_sec; > flag_sec my_flag; > in printk we only pass like this : > printk(“%pg\n”, &my_flag) ; > then it can print any flags defined by user . > more useful for other drivers to use .
I don't know, it sounds quite complicated given that we had no flags printing for years and now there's just three kinds of them. The extra struct flag_sec is IMHO nuissance. No other printk format needs such thing AFAIK? For example, if I were to print page flags from several places, each would have to define the struct flag_sec instance, or some header would have to provide it?
I could maybe accept passing a flag value and trace_print_flags * as two separate parameters, but I guess that breaks an ancient invariant of one parameter per format string...
> Thanks > > > > > > > > > > > > >
| |