Linux MIPS Architecture development
 help / color / mirror / Atom feed
From: Ralf Baechle <ralf@linux-mips.org>
To: Hilik Stein <hilik@netvision.net.il>
Cc: linux-mips@linux-mips.org
Subject: Re: allocating a large memory area
Date: Thu, 13 Mar 2003 01:03:49 +0100	[thread overview]
Message-ID: <20030313010349.B29568@linux-mips.org> (raw)
In-Reply-To: <438113fe62.3fe6243811@netvision.net.il>; from hilik@netvision.net.il on Wed, Mar 12, 2003 at 01:28:02PM +0200

On Wed, Mar 12, 2003 at 01:28:02PM +0200, Hilik Stein wrote:

> i am building a kernel based fast packet handler which runs on kernel 
> 2.4.20. 
> my code resides inside the kernel, which is running on sb1 core. 
> i need to allocate a large memory region for my data (32MB), which is far 
> beyond what kmalloc can provide for me. 
> i do not want to use vmalloc, since it will allocate the memory out of 
> KSEG2, which is too slow and will generate too many exceptions when i 
> have to access my data randomly. 
> i was thinking of limiting the linux from accessing the highest physical 
> 32MB by using "mem=224M" kernel command line parameter. this was i 
> can access my data using 0x8e000000 through KSEG1. 

0x8e000000 a KSEG0 address.  If you care about performance you don't want
to use KSEG1 :)

> is this safe ? anything i need to consider before moving forward with that 
> approach ? 

It's the only sensible approach.  __get_free_pages()'s limit for allocation
is order 10 by default which would like to PAGE_SIZE * 2^10 = 4MB by
default.  Increasing is possible by setting the config symbol
CONFIG_FORCE_MAX_ZONEORDER to the desired value - but that doesn't seem
like a good idea for a one-time allocation as it affects performance and
has heavy fragmentation issues.

kmalloc isn't suitable either.  It's got it's own limit of 128k which could
be raised but that doesn't make much sense for other reasons including the
fact that kmalloc is implemented on top of the gfp so the issues in the
last paragraph apply as well.

  Ralf

  reply	other threads:[~2003-03-13  0:03 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-12 11:28 allocating a large memory area Hilik Stein
2003-03-13  0:03 ` Ralf Baechle [this message]
2003-03-13  0:23 ` Bradley D. LaRonde
2003-03-13  0:23   ` Bradley D. LaRonde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030313010349.B29568@linux-mips.org \
    --to=ralf@linux-mips.org \
    --cc=hilik@netvision.net.il \
    --cc=linux-mips@linux-mips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox