Re: Re: are all memory addresses in ZONE_NORMAL "logical" addresses?

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

 



On 5/29/07, Mulyadi Santosa <mulyadi.santosa@xxxxxxxxx> wrote:
Hello Pradeep..

This is actually a bit beyond the original topic asked by Robert... so
if you want, maybe you can start a new thread instead. And here's my
thought...
Apologies, that was totally unintentional Mulyadi.

Thanks
--psr

> Don't you think it should be NORMAL zone first instead of highmem,
> unless normal zone is under pressure though?
> Because accessing HIGHMEM is indeed a small hit because it involves
> setting temporary kernel mappings and resetting them after use.
Correct, but IMO if those pages are allocated for user space, then it
wouldn't be too much trouble. Kernel finds free pages in highmem, assign
them to user space process plus setting the correct PTEs. Assuming this
is 32 bit x86 with 3:1 VM split, there is 3G address space ready to map
some (or maybe all) the highmem pages.

Between locating free pages and assign them to process, IIRC there is
slight perfomance hit because the kernel needs to zero them. Logically,
before zeroing those pages, you need to temporarily map them and later
unmap them.
> Should you use the NORMAL zone absolutely, unless you know NORMAL zone
> is already under heavy pressure?
Maybe MM folks know about it whole lot better, but I think if highmem
has plenty of free pages and kernel don't need to access them so
frequently, allocating from highmem is good choice. However, in general,
I think we should think about it case by case.

regards,

Mulyadi




--
play the game

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux