Re: RE: RE: RE: Re: Re: Implementation of Virtual Memory on Linux

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

 



Hi Abu....

BTW, guys, are we going OOT here? please warn us if I do so...

> #define PAGE_SHIFT		12
> The page size appaers to be 4 K.

OK, that means, you have 209*PAGE_SIZE = 836 KB. But i don't know, in 
what situation did you capture the output of buddyinfo...before the 
program (try-sound.c) was run? during the execution? after it is 
finished?

> My purpose of doing this is that I want to reserve this much memory,
> so that they are not taken into consideration when I am allocating
> memory in another loop.

OK. But still, you don't free() it as far as I can see, thus I don't 
know if this is really what you expect or not...

> > So far I try to conclude:
> > 1. You're experiencing memory fragmentation. This makes memory
> > allocator works harder to satisfy memory allocation.
>
> Why so, as there is a request of just one page?

try to limit the problem, in which line of your code the memory 
allocation actually failed? if it is inside a loop, in which iteration?

> > 2. You're really lack of free memory. Especially, since looking
> > that you're allocating 3600 kilobyte shortly after main() is
> > executed.
>
> Yes. But again there is much space left, (Kernel + drivers(Is driver
> memory is separate from Kernel memory?) + poarray) < 16 MB

Please check the output of buddyinfo before you run the program, during 
the execution and after the execution. BTW, driver are loaded in kernel 
address space, thus it is not separated from kernel memory. 

regards,

Mulyadi


--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           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