Re: [PATCH 1/3] mm: Print head flags in dump_page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/30/20 1:35 AM, John Hubbard wrote:
>> +       pr_warn("%sflags: %#lx(%pGp)%s\n", type, flags, &flags,
>>                  page_cma ? " CMA" : "");
>>   
>>   hex_only:
>> 
> 
> ...so with that fix, along with your line break approach in the other thread,
> a tail page dump of a FOLL_PIN page looks like this:
> 
> [   38.027987] page:00000000abaef9ae refcount:513 mapcount:1 mapping:0000000000000000 index:0x11
> [   38.035633] head:00000000675be53c order:9 compound_mapcount:1 compound_pincount:512
> [   38.049155] anon flags: 0x17ffe000000000e(referenced|uptodate|dirty)
> [   38.055465] raw: 017ffe0000000000 ffffea0020dd0001 ffffea0020dd0448 dead000000000400
> [   38.062319] raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000
> [   38.069183] head: 017ffe000001000e ffffffff83649ca0 ffffea0020dd8008 ffff88888e0b6641
> [   38.076141] head: 0000000000000000 0000000000000000 00000201ffffffff 0000000000000000
> [   38.083102] page dumped because: gup_benchmark: tail page: dump_page test
> 
> So, good. However, I feel that the "head " prefix approach is slightly
> preferable, because it's doing less processing (the more code one
> adds to little-exercised debug paths, the more likely the debugging has
> bugs) and is instead just printing out what it sees directly. And it seems a little
> odd to remove the PG_head bit from the output.
> 
> The "head " prefix approach looks like this:

I would also prefer this approach.It would be also nice to know the tail index.
As long as page pointer wasn't hashed, it was possible to figure this out, but
now it's not. Maybe print pfn of both page and head?

> [   38.027987] page:00000000abaef9ae refcount:513 mapcount:1 mapping:0000000000000000 index:0x11
> [   38.035633] head:00000000675be53c order:9 compound_mapcount:1 compound_pincount:512
> [   38.049155] head anon flags: 0x17ffe000000000e(referenced|uptodate|dirty|head)
> [   38.055465] raw: 017ffe0000000000 ffffea0020dd0001 ffffea0020dd0448 dead000000000400
> [   38.062319] raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000
> [   38.069183] head: 017ffe000001000e ffffffff83649ca0 ffffea0020dd8008 ffff88888e0b6641
> [   38.076141] head: 0000000000000000 0000000000000000 00000201ffffffff 0000000000000000
> [   38.083102] page dumped because: gup_benchmark: tail page: dump_page test
> 
> 
> 
> 
> thanks,
> 





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux