lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5029798A.5000605@genband.com>
Date:	Mon, 13 Aug 2012 16:02:50 -0600
From:	Chris Friesen <chris.friesen@...band.com>
To:	"J.Hwan Kim" <frog1120@...il.com>
CC:	linux-kernel@...r.kernel.org
Subject: Re: allocation of contiguous memory in kernel mode

On 08/09/2012 09:47 AM, J.Hwan Kim wrote:
> Hi, everyone
>
> I wish to alloc physically contiguous memory in kernel mode.
> I used the __get_free_pages(gfp_mask, order) function,
> but it fails occasionary.
> I guess it is caused by memory fragmentation.
> My code is kernel driver module which cannot use
> bootmem allocation and its platform is x86_64.
> My server desktop has 20GB memory.
> I wish to know the method to allocate physically
> contiguous memory not failing by fragmentation.

There is no easy answer.

The most portable option is to change the requirements so that you don't 
need physically contiguous memory.  This is what most network devices 
did to handle jumbo frames.

Can you build a new kernel with your code added instead of using a module?

What about booting with artificially limited physical memory (on the 
kernel commandline) and then have the module explictly map in memory 
from above the usual memory limit?

Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ