public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* HUGE contiguous mem space with 2.4
@ 2001-05-21 22:39 Christophe Beaumont
  2001-05-23 20:46 ` Jeff Hartmann
  0 siblings, 1 reply; 2+ messages in thread
From: Christophe Beaumont @ 2001-05-21 22:39 UTC (permalink / raw)
  To: Linux-Kernel

Hi...

I am facing an odd problem here. I have an application here
that requires a HUGE physically contiguous memory area to 
be locked (yes, I have hardware DMA'ing in and out of that
area, over the PCI bus). HUGE being like one Gig (could be
more if needed...)
I am trying to use the mem=1024M option at boot time (yes,
the box has 2 Gigs of RAM) and then ioremap() from within 
my module. There I have a couple of issues:
 - if I use high_memory as is, I cannot remap any area 
(high_memory=f800:0000 ???)
 - if I use high_memory thru virt_to_phys, I can then remap...
up to 64 Megs (maybe a little more, but for sure less than
128 Megs) (virt_to_phys(high_mem)=3800:0000)

I tried with other values (like mem=250M 512M 1536M) and could
NOT remap anything close to the whole amount of "reserved" memory
(best case being with mem=256M I can remap 512M out of 1.75Gigs)

I guess I am missing a point somewhere.... or have totally 
been "ignoring" some doc somewhere (alessandro could be the man
for this one thing *-) )

[system is a dual P3 with 2 gigs of RAM, a 2.4.3 kernel with SMP
turned on... and the nice option for 4Gigs of RAM... would the
64Gig option help me??? just wondering there...]

Any pointer, advise, help, hint... laugh at the stupid thing I 
have forgotten is more than welcome..

tia

Chris.

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

* Re: HUGE contiguous mem space with 2.4
  2001-05-21 22:39 HUGE contiguous mem space with 2.4 Christophe Beaumont
@ 2001-05-23 20:46 ` Jeff Hartmann
  0 siblings, 0 replies; 2+ messages in thread
From: Jeff Hartmann @ 2001-05-23 20:46 UTC (permalink / raw)
  To: Christophe Beaumont; +Cc: Linux-Kernel

Christophe Beaumont wrote:

> Hi...
> 
> I am facing an odd problem here. I have an application here
> that requires a HUGE physically contiguous memory area to 
> be locked (yes, I have hardware DMA'ing in and out of that
> area, over the PCI bus). HUGE being like one Gig (could be
> more if needed...)
> I am trying to use the mem=1024M option at boot time (yes,
> the box has 2 Gigs of RAM) and then ioremap() from within 
> my module. There I have a couple of issues:
>  - if I use high_memory as is, I cannot remap any area 
> (high_memory=f800:0000 ???)
>  - if I use high_memory thru virt_to_phys, I can then remap...
> up to 64 Megs (maybe a little more, but for sure less than
> 128 Megs) (virt_to_phys(high_mem)=3800:0000)
> 
> I tried with other values (like mem=250M 512M 1536M) and could
> NOT remap anything close to the whole amount of "reserved" memory
> (best case being with mem=256M I can remap 512M out of 1.75Gigs)
> 
You are running out of virtual address space in the kernel.  Either 
don't map the whole thing all the time (this is really the best solution 
since it works with stock kernels), or hack up your kernel to have more 
virtual address space reserved for the kernel.  This will have the side 
effect of reducing the amount of memory an application can use at one time.

Another solution is to have the driver in user space, were you should be 
able to mmap a much larger amount of device memory.  If your application 
requires no interrupt handling, and can always be run as root, you could 
probably get away with no kernel support at all.  Just use /dev/mem to 
mmap the device and your dma memory.

-Jeff


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

end of thread, other threads:[~2001-05-23 20:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-05-21 22:39 HUGE contiguous mem space with 2.4 Christophe Beaumont
2001-05-23 20:46 ` Jeff Hartmann

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