All of lore.kernel.org
 help / color / mirror / Atom feed
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/

  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.