From: James Simmons <jsimmons@edgeglobal.com>
To: "Stephen C. Tweedie" <sct@redhat.com>
Cc: linux-mm@kvack.org
Subject: Re: mm->mmap_sem
Date: Fri, 24 Sep 1999 21:24:40 -0400 (EDT) [thread overview]
Message-ID: <Pine.LNX.4.10.9909242002500.16745-100000@imperial.edgeglobal.com> (raw)
In-Reply-To: <14315.48702.873172.788668@dukat.scot.redhat.com>
Hi,
> Yes. The semaphore only protects against changes to the mmap lists and
> page tables. It does not protect memory itself. On a multi-processor
> machine, the only way the kernel on one CPU can prevent the contents of
> a page from being modified by a process on another CPU is to forcibly
> revoke all read-write mappings to that page.
Just out of curoisty how would one revoke all read-write to that page?
I know this would be expensive to do.
Also what does LockPage, TryLockPage(page), and UnlockPage(page) do
exactly? I assume this also doesn't protect the memory contents either.
What I'm guessing at is it protects the page struct itself. If you are
changing the protections on a page you don't want a another process also
attempting to do this.
> currently in the process's page tables. If the page is already mapped,
> then there is no page fault. Otherwise you'd be doing massive amounts
> of kernel work for every byte of data accessed by every process.
Makes sense. I see its a clock algorithm that looks threw the pages and
markes the pages as dirty that have been accessed. Thanks to the link
below I see how thats done.
Cooperative locking between the framebuffer and accel engine is going to
be alot harder than I though. I was hoping the mmap_sem might do the
trick. I was hoping to find a nice clean way to have it so when the accel
engine is about to become active any access to the framebuffer could just
be reschedule for later execution. You stated that something similar to
sharded memory would work. I toke alook at the code. It looks like all it
does is add a extra layer above ordinary memory handling. How would I
approach this problem with the shared memory method ?
> --Stephen
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org. For more info on Linux MM,
> see: http://humbolt.geo.uu.nl/Linux-MM/
>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://humbolt.geo.uu.nl/Linux-MM/
next prev parent reply other threads:[~1999-09-25 1:24 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-09-22 21:02 mm->mmap_sem James Simmons
1999-09-24 0:07 ` mm->mmap_sem Stephen C. Tweedie
1999-09-24 14:59 ` mm->mmap_sem James Simmons
1999-09-24 18:09 ` mm->mmap_sem Stephen C. Tweedie
1999-09-25 1:24 ` James Simmons [this message]
1999-09-25 14:55 ` mm->mmap_sem Andrea Arcangeli
1999-09-25 16:50 ` mm->mmap_sem James Simmons
1999-09-25 17:06 ` mm->mmap_sem Andrea Arcangeli
1999-09-26 1:19 ` mm->mmap_sem James Simmons
1999-09-26 14:07 ` mm->mmap_sem Andrea Arcangeli
1999-09-27 8:55 ` mm->mmap_sem Marcus Sundberg
1999-09-27 19:31 ` mm->mmap_sem James Simmons
1999-09-29 23:00 ` mm->mmap_sem Stephen C. Tweedie
1999-09-30 0:17 ` mm->mmap_sem James Simmons
1999-09-30 0:23 ` mm->mmap_sem Benjamin C.R. LaHaise
1999-09-30 14:59 ` mm->mmap_sem James Simmons
1999-09-30 15:15 ` mm->mmap_sem Benjamin C.R. LaHaise
1999-09-30 16:05 ` mm->mmap_sem James Simmons
1999-09-30 14:54 ` mm->mmap_sem Stephen C. Tweedie
1999-09-27 14:16 ` mm->mmap_sem Stephen C. Tweedie
1999-09-27 20:22 ` mm->mmap_sem James Simmons
1999-09-27 14:13 ` mm->mmap_sem Stephen C. Tweedie
1999-09-27 8:08 ` mm->mmap_sem Neil Conway
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=Pine.LNX.4.10.9909242002500.16745-100000@imperial.edgeglobal.com \
--to=jsimmons@edgeglobal.com \
--cc=linux-mm@kvack.org \
--cc=sct@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox