linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: "Stephen C. Tweedie" <sct@redhat.com>
To: James Simmons <jsimmons@edgeglobal.com>
Cc: linux-mm@kvack.org, Stephen Tweedie <sct@redhat.com>
Subject: Re: mm->mmap_sem
Date: Fri, 24 Sep 1999 01:07:06 +0100 (BST)	[thread overview]
Message-ID: <14314.49322.671097.451248@dukat.scot.redhat.com> (raw)
In-Reply-To: <Pine.LNX.4.10.9909221454320.26444-100000@imperial.edgeglobal.com>

Hi,

On Wed, 22 Sep 1999 17:02:07 -0400 (EDT), James Simmons <jsimmons@edgeglobal.com> said:

> I noticed that mm_struct has a semaphore in it. How go is it protecting
> the memory region? Say we have teh following case. I have a process
> that mmaps a chunk of memory and this memory can be sharded with other 
> processes. What if the process does a mlock which does a
> down(mm->mmap_sem). Now the process goes to sleep and another process
> tries to modify the memory region. 

You have missed the point of the semaphore.  mmap_sem only protects the
vm list against being modified temporarily.  For example, it makes sure
that you don't unmap a VM region while doing a page fault on the same
region.  

An mlock() system call will take the semaphore while it performs the
locking operation and page faults all of the locked data into memory,
but when the mlock call returns, the semaphore will have been released.

> Will this semaphore protect this region? In a SMP machine same
> thing. What kind of protect does this semaphore provide? Does it
> prevent other process from doing anything to the memory. 

No.

--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/

  reply	other threads:[~1999-09-24  0:07 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 ` Stephen C. Tweedie [this message]
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       ` mm->mmap_sem James Simmons
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=14314.49322.671097.451248@dukat.scot.redhat.com \
    --to=sct@redhat.com \
    --cc=jsimmons@edgeglobal.com \
    --cc=linux-mm@kvack.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox