On Thu, Dec 8, 2011 at 1:41 AM, Greg KH <greg@xxxxxxxxx> wrote: > On Thu, Dec 08, 2011 at 01:26:42AM +0530, mindentropy wrote: >> On Wednesday 07 Dec 2011 11:35:36 AM Greg KH wrote: >> > On Thu, Dec 08, 2011 at 12:36:43AM +0530, mindentropy wrote: >> > > On Thursday 08 Dec 2011 1:38:19 AM Mulyadi Santosa wrote: >> > > > On Wed, Dec 7, 2011 at 01:47, mindentropy <mindentropy@xxxxxxxxx> wrote: >> > > > > Hi, >> > > > > >> > > > > I am trying to allocate 512MB of RAM in my driver loaded as a >> > > > > module,> > > >> > > > > but the OOM killer starts killing all my processes. This machine >> > > > > has >> > > > > around 24GB RAM and is a 8 core Xeon. The RAM is allocated in >> > > > > page size chunks (i.e. 131072 chunks each of size PAGE_SIZE). >> > > > >> > > > mind to tell us, how do you allocate memory? kmalloc? >> > > >> > > Via kmalloc. >> > >> > Please use the functions written to give you large memory chunks. As >> > you are using a video-for-linux device, why not use the apis that this >> > framework provides you for this type of thing? >> > >> >> Yes V4L would be done next. There are some things being tried out, this being >> a custom FPGA hence some controls being experimented. >> >> As for the allocating in PAGE_SIZE chunks why am I running out of memory? > > The kernel doesn't like allocating such large sizes all at once. > >> Can't it steal smaller chunks from the larger chunks? Just curious about the >> reason. > > Use vmalloc if you need/want larger chunks, kmalloc is not for that at > all. > > greg k-h > > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies@xxxxxxxxxxxxxxxxx > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies Probably if it is some custom hardware, and you can afford to allocate memory at boot time, then reserve it exclusively for your use only. -Rajat _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies