Re: kernel memory allocation

2011-12-22 Thread Dave Hylands
Hi,

On Thu, Dec 22, 2011 at 6:33 PM, J.Hwan Kim  wrote:
> Hi, everyone
>
> How can I allocated contiguous kernel memory over 128MB ?
> When I use _get_free_pages() function, it returns error.
> I guess the memory size is greater than the amount which the function
> can allocate.

You can use bootmem to reserve the memory at boot time, and then use
the bootmem allocator to alloocate from that reserved memory/

There is also some new code called CMA (Contiguous Memory Allocator)
which hasn't hit the mainline yet, but it could also be used.

See: http://lwn.net/Articles/468044/ for further details.

-- 
Dave Hylands
Shuswap, BC, Canada
http://www.davehylands.com

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


kernel memory allocation

2011-12-22 Thread J.Hwan Kim
Hi, everyone

How can I allocated contiguous kernel memory over 128MB ?
When I use _get_free_pages() function, it returns error.
I guess the memory size is greater than the amount which the function
can allocate.

Thanks in advance.

Best Regards,
J.Hwan Kim


___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


RE: kernel memory allocation

2011-06-03 Thread Jeff Haran
> -Original Message-
> From: kernelnewbies-boun...@kernelnewbies.org [mailto:kernelnewbies-
> boun...@kernelnewbies.org] On Behalf Of João Eduardo Luís
> Sent: Friday, June 03, 2011 12:40 PM
> To: Amirali Shambayati
> Cc: kernelnewbies
> Subject: Re: kernel memory allocation
> 
> Hi.
> 
> In future replies, please CC the list.
> 
> Does it panic in during the kmalloc, or afterwards? Are you checking if
> 'newBun' is NULL?
> 
> I may be missing something obvious in that code, but unless you are out of
> memory or with some past corruption, I don't think that should panic the
> kernel.
> 
> In any case, the panic trace should help.
> 
> 
> Cheers.
> 
> ---
> João Eduardo Luís
> gpg key: 477C26E5 from pool.keyserver.eu
> 
> 
> 
> 
> 
> On Jun 3, 2011, at 7:50 PM, Amirali Shambayati wrote:
> 
> > thanks for your guidance. I just want to allocate memory for a struct. I use
> this:
> >
> > struct bundle* newBun;
> > newBun = kmalloc(sizeof(*newBun), GFP_KERNEL);
> >
> > but it goes to panic state.
> >

Just guessing, but the most likely reason for the above call to kmalloc() to 
cause a panic is it's being called in atomic context.

Are you seeing anything like "scheduling while atomic" in the panic back trace?

If so, that's your problem and the solution is most likely to replace the above 
GFP_KERNEL with GFP_ATOMIC. The alternative would be to restructure the code so 
that the allocation doesn't happen in atomic context.

Jeff Haran
Bytemobile




___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: kernel memory allocation

2011-06-03 Thread João Eduardo Luís
Hello,

Once again, I would pretty much enjoy if you CC'ed the list on replies.


On Jun 3, 2011, at 8:49 PM, Amirali Shambayati wrote:

> I set breakpoint before kmalloc. panic happens after kmalloc.
> 
>> 2011/6/4 Amirali Shambayati 
>> ofcourse it's null before allocate it. I make an instantiation of it. then  
>> I want to allocate memory for it.What else I should do?

I meant, are you checking if 'newBun' is NULL _AFTER_ the kmalloc?

The kmalloc call will return NULL instead of a pointer to newly allocated 
memory whenever an error occurs. If by any chance you are not checking if 
'newBun' is NULL after the kmalloc, then you should do it.

Also, if the panic happens _after_ the kmalloc, and not _during_ the kmalloc, I 
would say there's a slim chance of kmalloc being the cause of the panic.


---
João Eduardo Luís
gpg key: 477C26E5 from pool.keyserver.eu 

PGP.sig
Description: This is a digitally signed message part
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: kernel memory allocation

2011-06-03 Thread João Eduardo Luís
Hi.

In future replies, please CC the list.

Does it panic in during the kmalloc, or afterwards? Are you checking if 
'newBun' is NULL?

I may be missing something obvious in that code, but unless you are out of 
memory or with some past corruption, I don't think that should panic the kernel.

In any case, the panic trace should help.


Cheers.

---
João Eduardo Luís
gpg key: 477C26E5 from pool.keyserver.eu 





On Jun 3, 2011, at 7:50 PM, Amirali Shambayati wrote:

> thanks for your guidance. I just want to allocate memory for a struct. I use 
> this: 
> 
> struct bundle* newBun;
> newBun = kmalloc(sizeof(*newBun), GFP_KERNEL);
> 
> but it goes to panic state.
> 
> 2011/6/3 João Eduardo Luís 
> Hi.
> 
> From [1] I'm lead to believe the only difference between the regular 
> kmalloc() arguments and those of kmalloc_node() is the one specifying which 
> node you want to allocate the memory on.
> 
> Aside from the third argument, which seems to be related with NUMA (with 
> which I never worked on kernel-context), I would suggest you to read [2].
> 
> If on the other hand you only want to allocate memory locally, maybe you 
> should use kmalloc() or one of its variants [3].
> 
> 
> Cheers.
> 
> 
> [1] - http://www.kernel.org/doc/htmldocs/kernel-api/API-kmalloc-node.html
> [2] - http://www.kernel.org/doc/htmldocs/kernel-api/API-kcalloc.html
> [3] - http://www.kernel.org/doc/htmldocs/kernel-api/mm.html#id408507
> ---
> João Eduardo Luís
> gpg key: 477C26E5 from pool.keyserver.eu
> 
> 
> 
> 
> 
> On Jun 3, 2011, at 7:07 PM, Amirali Shambayati wrote:
> 
> >
> > Hello all,
> >
> > I just want to allocate memory for a struct instantiation. Would anyone 
> > guide me what arguments I should pass to "kmalloc_node"?
> > Regards,
> > --
> > Amirali Shambayati
> > Bachelor Student
> > Computer Engineering Department
> > Sharif University of Technology
> > Tehran, Iran
> >
> > ___
> > Kernelnewbies mailing list
> > Kernelnewbies@kernelnewbies.org
> > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> 
> 
> 
> 
> -- 
> Amirali Shambayati
> Bachelor Student
> Computer Engineering Department
> Sharif University of Technology
> Tehran, Iran
> 



PGP.sig
Description: This is a digitally signed message part
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: kernel memory allocation

2011-06-03 Thread João Eduardo Luís
Hi.

From [1] I'm lead to believe the only difference between the regular kmalloc() 
arguments and those of kmalloc_node() is the one specifying which node you want 
to allocate the memory on.

Aside from the third argument, which seems to be related with NUMA (with which 
I never worked on kernel-context), I would suggest you to read [2].

If on the other hand you only want to allocate memory locally, maybe you should 
use kmalloc() or one of its variants [3]. 


Cheers.


[1] - http://www.kernel.org/doc/htmldocs/kernel-api/API-kmalloc-node.html
[2] - http://www.kernel.org/doc/htmldocs/kernel-api/API-kcalloc.html
[3] - http://www.kernel.org/doc/htmldocs/kernel-api/mm.html#id408507
---
João Eduardo Luís
gpg key: 477C26E5 from pool.keyserver.eu 





On Jun 3, 2011, at 7:07 PM, Amirali Shambayati wrote:

> 
> Hello all,
> 
> I just want to allocate memory for a struct instantiation. Would anyone guide 
> me what arguments I should pass to "kmalloc_node"?
> Regards,
> -- 
> Amirali Shambayati
> Bachelor Student
> Computer Engineering Department
> Sharif University of Technology
> Tehran, Iran
> 
> ___
> Kernelnewbies mailing list
> Kernelnewbies@kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



PGP.sig
Description: This is a digitally signed message part
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


kernel memory allocation

2011-06-03 Thread Amirali Shambayati
Hello all,

I just want to allocate memory for a struct instantiation. Would anyone
guide me what arguments I should pass to "kmalloc_node"?
Regards,
-- 
Amirali Shambayati
Bachelor Student
Computer Engineering Department
Sharif University of Technology
Tehran, Iran
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Check Kernel Memory Allocation

2011-06-03 Thread Dev Null
Hello,

I wanted to know how much kernel and userspace memory is available on the
Linux system during run-time either by some C code or some procfile.

Do you know how to do that?

Thanks,
Dev
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Check Kernel Memory Allocation

2011-06-02 Thread Dave Hylands
Hi Dev,

> I wanted to know how much kernel and userspace memory is available on the
> Linux system during run-time either by some C code or some procfile.
>
> Do you know how to do that?

You can look in /proc/meminfo
http://unixfoo.blogspot.com/2008/02/know-about-procmeminfo.html

The memory is shared between userspace and kernel space and the amount
of memory available changes dynamically as the system is running.

Be aware that Cached memory is quite dynamic, and the system will
throw away cache pages to make space if it needs to.

-- 
Dave Hylands
Shuswap, BC, Canada
http://www.davehylands.com

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Check Kernel Memory Allocation

2011-06-02 Thread Mulyadi Santosa
On Fri, Jun 3, 2011 at 01:05, Dev Null  wrote:
> I wanted to know how much kernel and userspace memory is available on the
> Linux system during run-time either by some C code or some procfile.

have you checked /proc/meminfo and its handler?

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Fwd: Check Kernel Memory Allocation

2011-06-02 Thread Dev Null
-- Forwarded message --
From: Dev Null 
Date: Tue, May 31, 2011 at 4:08 PM
Subject: Check Kernel Memory Allocation
To: kernelnewbies Newbies 


Hello,

I wanted to know how much kernel and userspace memory is available on the
Linux system during run-time either by some C code or some procfile.

Do you know how to do that?

Thanks,
Dev
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies