linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Ramdisk for > 1GB / >2 GB
@ 1999-02-01 21:25 Manfred Spraul
  1999-02-02  7:54 ` Eric W. Biederman
  1999-02-04  7:20 ` ralf
  0 siblings, 2 replies; 3+ messages in thread
From: Manfred Spraul @ 1999-02-01 21:25 UTC (permalink / raw)
  To: linux-mm

I've written a ramdisk driver that can use physical, unmapped memory. I've
posted a beta version this morning to linux-kernel.
Basically, it is a kernel patch that manages the memory (alloc_hugemem(),
free_hugemem()), and a block device driver that can use this memory.

I'm new in the Linux MM, perhaps you could help me on these questions:

1) SMP:
I use a spinlock for every ramdisk, and one page for each drive as a window
to the physical memory. Since only 1 processor uses this page, I can use
__flush_tlb_one( == INVLPG only on the local processor) without any further
synchronization.
Is that stable on SMP, and do you think that this parallel enough?
Linus suggested using one 4MB pte for each processor, but I think that this
would be to much overhead.
Another idea would be using a hash table (eg. 32 spinlocks, 32 pages) that
is shared by all processors.

2) I can't make the driver a module because I use 'pgt_offset_k()' to
traverse the page tables, but init_mm is not exported.
Is there any other way how I can find the pte_t that belongs to my page?

3) Is more than 2 GB memory a problem that only applies to the i386
architecture, or is there demand for that on PowerPC, Sparc32?

Regards,
    Manfred

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

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

end of thread, other threads:[~1999-02-05  2:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-02-01 21:25 Ramdisk for > 1GB / >2 GB Manfred Spraul
1999-02-02  7:54 ` Eric W. Biederman
1999-02-04  7:20 ` ralf

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