linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Allocation of kernel memory >128K
@ 2001-12-11 10:06 Amit S. Jain
  2001-12-11 10:41 ` Eric W. Biederman
  2001-12-27 11:08 ` Amit S. Jain
  0 siblings, 2 replies; 8+ messages in thread
From: Amit S. Jain @ 2001-12-11 10:06 UTC (permalink / raw)
  To: linux-mm

I have been working on a module in which I copy large amount of data fromn
the user to the kernel area.To do so I allocate using either kmaaloc or
vmalloc or  get_free_pages()large amount of memory(in the range of
MBytes) in the kernel space.However this attempt is not successful.One ofmy 
colleagues informed me that in the kernel space it is safe not to allocate
large amount of memory at one time,should be kept upto 30K...is he
right....could you throw more light on this issue.


Thanking you,
Amit Jain

<

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: Allocation of kernel memory >128K
@ 2001-12-11 15:27 Mark_H_Johnson
  2001-12-11 18:13 ` Benjamin LaHaise
  0 siblings, 1 reply; 8+ messages in thread
From: Mark_H_Johnson @ 2001-12-11 15:27 UTC (permalink / raw)
  To: Eric W. Biederman; +Cc: Amit S. Jain, linux-mm, owner-linux-mm

Hmm. I don't know if this was necessarily a complete answer. Perhaps a few
extra questions are necessary to clarify what is requested by Amit.
 - do you [Amit] want a continuous range of physical pages? If so, why?
 - do you want a continuous range of pages in the kernel's virtual address
space? If so, why?
I would not necessarily say that "large amounts of continuous memory is a
bad thing" - rather that it is hard to get, and a costly operation (in
time). For example - a number of existing pages must be moved (or swapped)
to get the area you are requesting. Since this is a big performance hit,
you better have a really good reason for doing so.

If you really need contiguous physical pages - get the bigphysarea patch
and use it. We use it for a shared memory interface between a PC and single
board computers in a VME rack. It works well and is pretty easy to use. It
does have the disadvantage of taking memory away from general use.

If you think you need continuous virtual pages - I suggest putting a little
extra effort into your implementation so it also supports a set of smaller
address ranges. Use the code implementing kiobuf as an example. The added
code should not be much and will save the system a lot of effort in getting
your pages.
--Mark H Johnson
  <mailto:Mark_H_Johnson@raytheon.com>


                                                                                                                     
                    ebiederm@xmiss                                                                                   
                    ion.com (Eric         To:     "Amit S. Jain" <amitjain@tifr.res.in>                              
                    W. Biederman)         cc:     linux-mm@kvack.org                                                 
                    Sent by:              Subject:     Re: Allocation of kernel memory >128K                         
                    owner-linux-mm                                                                                   
                    @kvack.org                                                                                       
                                                                                                                     
                                                                                                                     
                    12/11/01 04:41                                                                                   
                    AM                                                                                               
                                                                                                                     
                                                                                                                     




"Amit S. Jain" <amitjain@tifr.res.in> writes:

> I have been working on a module in which I copy large amount of data
fromn
> the user to the kernel area.To do so I allocate using either kmaaloc or
> vmalloc or  get_free_pages()large amount of memory(in the range of
> MBytes) in the kernel space.However this attempt is not successful.One
ofmy
> colleagues informed me that in the kernel space it is safe not to
allocate
> large amount of memory at one time,should be kept upto 30K...is he
> right....could you throw more light on this issue.

large amounts of memory are o.k.
large amounts of continuous memory is generally a bad thing.

Allocating everything with multiple calls to get_free_page() should
get the job done.

Eric
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/




--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2002-01-03 22:59 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-12-11 10:06 Allocation of kernel memory >128K Amit S. Jain
2001-12-11 10:41 ` Eric W. Biederman
2001-12-12  7:40   ` Amit S. Jain
2001-12-20  3:56     ` Vladimir Dergachev
2001-12-27 11:08 ` Amit S. Jain
2002-01-03 22:59   ` Ravi K
2001-12-11 15:27 Mark_H_Johnson
2001-12-11 18:13 ` Benjamin LaHaise

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox