From: Christoph Rohland <cr@sap.com>
To: David Howells <dhowells@redhat.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH,preliminary] cleanup shm handling
Date: 08 Dec 2000 21:04:14 +0100 [thread overview]
Message-ID: <m3zoi6pvh1.fsf@linux.local> (raw)
In-Reply-To: <20295.976288425@warthog.cygnus>
In-Reply-To: <20295.976288425@warthog.cygnus>
David Howells <dhowells@redhat.com> writes:
> Can you help me with an SHM related problem?
>
> I'm currently writing a Win32 emulation kernel module to help speed Wine up,
> and I'm writing the file mapping support stuff at the moment
> (CreateFileMapping and MapViewOfFile).
These two calls were exactly the reasons to make the shm fs for
linux. It makes posix shm possible which provides shm_open an
shm_unlink. This together with mmap and frtuncate gives you exactly
this functionality.
shm_open and shm_unlink are provided by glibc 2.2. If you don't want
to rely on that, you can use open ("/dev/shm/xxx") and hope that the
admin configured right.
> I have PE Image mapping just about working (fixups, misaligned file
> sections and all), but I'm trying to think of a good way of doing
> anonymous shared mappings without having to hack the main kernel
> around too much (so far I've only had to add to kernel/ksyms.c).
>
> Is there a reasonable way I could hook into the SHM system to
> "reserve" a chunk of shared memory of a particular size, and then a
> second hook by which I can "map" _part_ of that into a process's
> address space?
Yes:
fd = shm_open ("xxx",...)
ptr = mmap (NULL, size, ..., fd, offset);
No kernel changes necessary on 2.4 any more.
Greetings
Christoph
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2000-12-08 20:41 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-12-08 13:23 [PATCH,preliminary] cleanup shm handling Christoph Rohland
2000-12-08 15:13 ` David Howells
2000-12-08 20:04 ` Christoph Rohland [this message]
2000-12-13 11:51 ` David Howells
2000-12-13 13:52 ` Christoph Rohland
2000-12-13 16:43 ` David Howells
2000-12-13 17:15 ` Christoph Rohland
2000-12-13 17:29 ` David Howells
2000-12-08 18:26 ` Linus Torvalds
2000-12-08 22:21 ` Christoph Rohland
2000-12-08 22:36 ` Linus Torvalds
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3zoi6pvh1.fsf@linux.local \
--to=cr@sap.com \
--cc=dhowells@redhat.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.