public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Robin Holt <holt-sJ/iWh9BUns@public.gmane.org>
To: Christoph Lameter <clameter-sJ/iWh9BUns@public.gmane.org>
Cc: Nick Piggin <npiggin-l3A5Bk7waGM@public.gmane.org>,
	Andrea Arcangeli <andrea-atKUWr5tajBWk0Htik3J/w@public.gmane.org>,
	Peter Zijlstra
	<a.p.zijlstra-/NLkJaSkS4VmR6Xm/wNWPw@public.gmane.org>,
	linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org,
	Benjamin Herrenschmidt
	<benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>,
	steiner-sJ/iWh9BUns@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>,
	kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
	daniel.blueman-xqY44rlHlBpWk0Htik3J/w@public.gmane.org,
	Robin Holt <holt-sJ/iWh9BUns@public.gmane.org>,
	Hugh Dickins <hugh-DTz5qymZ9yRBDgjK7y7TUQ@public.gmane.org>
Subject: Re: [patch 1/4] mmu_notifier: Core code
Date: Sat, 26 Jan 2008 06:01:50 -0600	[thread overview]
Message-ID: <20080126120149.GS3058@sgi.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0801251315350.19523-RYO/mD75kfhx2SFC9UQUAuF7EQX82lMiAL8bYrjMMd8@public.gmane.org>

>  void mmu_notifier_register(struct mmu_notifier *mn, struct mm_struct *mm)
>  {
> -	spin_lock(&mmu_notifier_list_lock);
> -	hlist_add_head(&mn->hlist, &mm->mmu_notifier.head);
> -	spin_unlock(&mmu_notifier_list_lock);
> +	down_write(&mm->mmap_sem);
> +	__mmu_notifier_register(mn, mm);
> +	up_write(&mm->mmap_sem);
>  }
>  EXPORT_SYMBOL_GPL(mmu_notifier_register);

But what if the caller is already holding the mmap_sem?  Why force the
acquire into this function?  Since we are dealing with a semaphore/mutex,
it is reasonable that other structures are protected by this, more work
will be done, and therefore put the weight of acquiring the sema in the
control of the caller where they can decide if more needs to be completed.

That was why I originally suggested creating a new rwsem_is_write_locked()
function and basing a BUG_ON upon that.

Thanks,
Robin

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

  parent reply	other threads:[~2008-01-26 12:01 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-25  5:56 [patch 0/4] [RFC] MMU Notifiers V1 Christoph Lameter
2008-01-25  5:56 ` [patch 1/4] mmu_notifier: Core code Christoph Lameter
     [not found]   ` <20080125055801.212744875-sJ/iWh9BUns@public.gmane.org>
2008-01-25 18:39     ` Robin Holt
     [not found]       ` <20080125183934.GO26420-sJ/iWh9BUns@public.gmane.org>
2008-01-25 18:47         ` Christoph Lameter
2008-01-25 18:56           ` Robin Holt
     [not found]             ` <20080125185646.GQ3058-sJ/iWh9BUns@public.gmane.org>
2008-01-25 19:03               ` Christoph Lameter
     [not found]                 ` <Pine.LNX.4.64.0801251058170.3198-RYO/mD75kfhx2SFC9UQUAuF7EQX82lMiAL8bYrjMMd8@public.gmane.org>
2008-01-25 19:35                   ` Robin Holt
     [not found]                     ` <20080125193554.GP26420-sJ/iWh9BUns@public.gmane.org>
2008-01-25 20:10                       ` Christoph Lameter
     [not found]                         ` <Pine.LNX.4.64.0801251206390.7856-RYO/mD75kfhx2SFC9UQUAuF7EQX82lMiAL8bYrjMMd8@public.gmane.org>
2008-01-26 11:56                           ` Robin Holt
2008-01-28 18:51                             ` Christoph Lameter
2008-01-25 21:18                       ` Christoph Lameter
     [not found]                         ` <Pine.LNX.4.64.0801251315350.19523-RYO/mD75kfhx2SFC9UQUAuF7EQX82lMiAL8bYrjMMd8@public.gmane.org>
2008-01-26 12:01                           ` Robin Holt [this message]
     [not found]                             ` <20080126120149.GS3058-sJ/iWh9BUns@public.gmane.org>
2008-01-28 18:44                               ` Christoph Lameter
2008-01-25  5:56 ` [patch 2/4] mmu_notifier: Callbacks to invalidate address ranges Christoph Lameter
2008-01-25  5:56 ` [patch 3/4] mmu_notifier: invalidate_page callbacks for subsystems with rmap Christoph Lameter
2008-01-25  5:56 ` [patch 4/4] MMU notifier: invalidate_page callbacks using Linux rmaps Christoph Lameter
2008-01-25 11:42 ` [patch 0/4] [RFC] MMU Notifiers V1 Andrea Arcangeli
     [not found]   ` <20080125114229.GA7454-lysg2Xt5kKMAvxtiuMwx3w@public.gmane.org>
2008-01-25 12:43     ` Robin Holt
2008-01-25 18:31     ` Christoph Lameter
2008-01-25 21:18     ` Benjamin Herrenschmidt
2008-01-25 21:25       ` Christoph Lameter
2008-01-28 16:10     ` Izik Eidus
2008-01-28 17:25       ` Andrea Arcangeli
2008-01-28 19:04         ` Christoph Lameter
     [not found]           ` <Pine.LNX.4.64.0801281103030.14003-RYO/mD75kfhx2SFC9UQUAuF7EQX82lMiAL8bYrjMMd8@public.gmane.org>
2008-01-28 19:40             ` Andrea Arcangeli
     [not found]               ` <20080128194005.GE7233-lysg2Xt5kKMAvxtiuMwx3w@public.gmane.org>
2008-01-28 20:16                 ` Christoph Lameter
  -- strict thread matches above, loose matches on Subject: below --
2008-02-01  5:04 [patch 0/4] [RFC] EMMU Notifiers V5 Christoph Lameter
2008-02-01  5:04 ` [patch 1/4] mmu_notifier: Core code Christoph Lameter
     [not found]   ` <20080201050623.112641539-sJ/iWh9BUns@public.gmane.org>
2008-02-01 10:55     ` Robin Holt
2008-02-01 11:04       ` Robin Holt
     [not found]       ` <20080201105516.GK26420-sJ/iWh9BUns@public.gmane.org>
2008-02-01 19:14         ` Christoph Lameter

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=20080126120149.GS3058@sgi.com \
    --to=holt-sj/iwh9buns@public.gmane.org \
    --cc=a.p.zijlstra-/NLkJaSkS4VmR6Xm/wNWPw@public.gmane.org \
    --cc=andrea-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
    --cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
    --cc=benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org \
    --cc=clameter-sJ/iWh9BUns@public.gmane.org \
    --cc=daniel.blueman-xqY44rlHlBpWk0Htik3J/w@public.gmane.org \
    --cc=hugh-DTz5qymZ9yRBDgjK7y7TUQ@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
    --cc=npiggin-l3A5Bk7waGM@public.gmane.org \
    --cc=steiner-sJ/iWh9BUns@public.gmane.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