vmalloc() limit, is BG writing a Linux kernel?

vmalloc() limit, is BG writing a Linux kernel?

Post by an.. » Sat, 15 Feb 2003 08:16:54

Application: fMRI - functional Magnetic Resonance Imaging of the brain.

  I wrote few device drivers for AD converter cards (HP, SGI and Linux).
Because experimental medical data are unique and not repeatable - not
a single image can be lost.  Time-course functions are unique too.
For this reason I used vmalloc() in kernel module to create unswappable
memory that was later mmap'ed to a user space.
  It worked like a champ on Linux 2.2.12 and users were stretching this
memory above 512 MBs.  Ya, 3-D images are huge and a series could contain
more than thousand of such images.
  On Linux 2.4.18 I found a problem, a limit of ~90 MBs. There is nothing
about the limit in a Rubini book (Linux Device Driver 2d edition).

  I found that the limit is in asm-i386/page.h file in the form:
      #define __VMALLOC_RESERVE       (128 << 20)
Tried to increase it and, with 2GB of physical memory, the max working is:
      #define __VMALLOC_RESERVE       (512 << 20)
The 1024 and up fails the kernel at the boot time. Not funny :-)_____//
  In the kernel 2.2.12 I had no problem with large allocations.

  What's going on?

Is Bill Gates "developing" a kernel for a Linux community?

  For me this limitation is a step backward.  I want to use USB, 1394, etc.
on new machines.  Should I use old kernel for data acquisition and loose this
  Appetites for long data, ~1GB per session, are growing. These machines are
dedicated to MRI scanning and are not for a net browsing.  Frequently, during
a fast acquisition, other activities are slowed down including a system time
clock.  No mercy.  Imagine that unfiltered data are even 8 time bigger.
I have to filter them in real time straight from a DMA buffer (yea,
bigphysarea) using floating point operations within an interrupt routine!
YES, it is possible.  It it much easier on Intel processors than on SGI, for
example, with few tweaks in an assembler.  Yes: C o m p u t e r s  are  U S !

  Any advice are welcome before I become an expert on virtual memory :-).
It is not my main task so I don't intend to hack.

  The kernel 2.2.12 was compiled with CONFIG_2GB=y, the 2.4.18 with
CONFIG_HIGHMEM4G=y. Both SMPs. I browsed the net intensively and found
nothing useful on a new strategy on vmalloc() and friends. I heard that
there is a big over-hole of the mm, but have no details.
  Any outline of a new strategy on memory assignment is welcome.  I have
mm.pdf doc file, but VMALLOC_RESERVE is there barely mentioned.

Remove 'removespam.' from the address,


1. Am running a process in bg without an & ????

Hi all,

Something very interesting here!

# File back.ksh has the following contents
sleep 10 | >> outfile | /bin/ksh

Now, I invoked the following.

$ /bin/ksh back.ksh

The "sleep 10" process is fired in the background o:)
And i got my shell prompt immediately.

However, when i run just that line from command line, it's fired in the

I found this problem when i was looking at some bug (in fact this one),
which was using something like (something like in the sense, it was not
sleep 10 there, but some process taking some time and generating some o/p).

sleep 10 | tee >> outfile | /bin/ksh

to append the contents to outfile.  The contents are appended right, but
the stuff is run in background (even tee) and causing lot of problems.
If i used the correct usage there, i.e. "tee -a outfile", everything went

And if I execute back.ksh file with the contents

sleep 10 | >> outfile

it's in the foreground.

I'm using Dynix/ptx 4.0 on sequent's symmetry machines.

Thanks in advance for all u'r time.


Ph #s: (O) 503 - 578 - 5706
       (R) 503 - 629 - 9643

2. How do I setup KDE in place of Gnome?

3. 2.4.20 & vmalloc limits

4. Truss Equivalent on AIX4.2.1?????????

5. Can't write vmalloc() mem in interrupt, 2.1.125/6

6. Trouble installing SMC cards

7. Allow /dev/kmem write to vmalloc space

8. SOLARIS 5.8

9. Limit BG processes

10. limiting bg processes

11. Limit BG processes

12. newbie Q: kernel BUG at vmalloc.c??

13. kernel hangs in 118th call to vmalloc