Re: How to profile 160 ms spent in `add_highpages_with_active_regions()`?

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

 



Dear Thomas,


On 08/22/18 15:41, Thomas Gleixner wrote:
> On Wed, 22 Aug 2018, Paul Menzel wrote:
>> Am 21.08.2018 um 11:37 schrieb Paul Menzel:
>>> [Removed non-working Pavel Tatashin <pasha.tatashin@xxxxxxxxxx>]
>>
>> So “free’ing” pfn = 225278 to e_pfn = 818492 in the for loop takes 160 ms.
> 
> That's 593214 pages and each one takes about 270ns. I don't see much
> optimization potential with that.
> 
> 32bit and highmem sucks ...

Interestingly on my ASRock E350M1 with 4 GB, `pfn_valid()` is always true.

Additionally, after removing the for loop, the system still boots and seems
to work fine.

Here is the hunk I removed (with my debug statements).

-               for ( ; pfn < e_pfn; pfn++)
-                       if (pfn_valid(pfn)) {
-                               free_highmem_page(pfn_to_page(pfn));
-                               //printk(KERN_INFO "%s: in for loop pfn_valid(pfn) after fre
e_highmem_page, pfn = %lu\n", __func__, pfn);
-                       } else {
-                               printk(KERN_INFO "%s: pfn = %lu is invalid\n", __func__);
-                       }

Is the code there for certain memory sizes?


Kind regards,

Paul

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


[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