mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Keith Owens <kaos@sgi.com>
To: Paul Jackson <pj@sgi.com>
Cc: ego@in.ibm.com, mingo@elte.hu, nickpiggin@yahoo.com.au,
	arjan@infradead.org, rusty@rustcorp.com.au, torvalds@osdl.org,
	akpm@osdl.org, linux-kernel@vger.kernel.org,
	arjan@intel.linux.com, davej@redhat.com, dipankar@in.ibm.com,
	vatsa@in.ibm.com, ashok.raj@intel.com
Subject: Re: [RFC][PATCH 4/4] Rename lock_cpu_hotplug/unlock_cpu_hotplug
Date: Sun, 27 Aug 2006 18:42:09 +1000	[thread overview]
Message-ID: <9747.1156668129@ocs10w.ocs.com.au> (raw)
In-Reply-To: Your message of "Sun, 27 Aug 2006 00:59:44 MST." <20060827005944.67f51e92.pj@sgi.com>

Paul Jackson (on Sun, 27 Aug 2006 00:59:44 -0700) wrote:
>The change agents (such as a system admin changing something in
>the /dev/cpuset hierarchy) are big slow mammoths that appear rarely,
>and need to single thread their entire operation, preventing anyone
>else from changing the cpuset hierarchy for an extended period of time,
>while they validate the request and setup to make the requested change
>or changes.
>
>The inhibitors are a swarm of locusts, that change nothing, and need
>quick, safe access, free of change during a brief critical section.
>
>Finally the mammoths must not trample the locusts (change what the
>locusts see during their critical sections.)

This requirement, and the similar requirement that cpu_online_mask
cannot change while anybody is reading it, both appear to cry out for
stop_machine().  Readers must be able to access the cpu related
structures at all time, without any extra locking.  Updaters (which by
definition are extremely rare) stop all other cpus, do their work then
restart_machine().  That way only kernel/stop_machine.c has to care
that the cpu masks might change underneath it, the rest of the kernel
is protected with zero overhead.


  reply	other threads:[~2006-08-27  8:42 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-24 10:34 Gautham R Shenoy
2006-08-24 11:00 ` Arjan van de Ven
2006-08-24 14:03   ` Gautham R Shenoy
2006-08-24 14:16     ` Arjan van de Ven
2006-08-24 14:55       ` Nick Piggin
2006-08-24 15:00         ` Ingo Molnar
2006-08-24 15:53           ` Nick Piggin
2006-08-25  3:53           ` Gautham R Shenoy
2006-08-27  7:59             ` Paul Jackson
2006-08-27  8:42               ` Keith Owens [this message]
2006-08-27  9:10                 ` Paul Jackson
2006-08-29 18:05               ` Paul E. McKenney
2006-08-29 19:31                 ` Paul Jackson
2006-08-29 20:03                   ` Paul E. McKenney
2006-08-30  2:38                     ` Paul Jackson
2006-08-30 15:14                       ` Paul E. McKenney
2006-08-30 17:54                         ` Paul Jackson
2006-08-30 18:13                           ` Paul E. McKenney

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=9747.1156668129@ocs10w.ocs.com.au \
    --to=kaos@sgi.com \
    --cc=akpm@osdl.org \
    --cc=arjan@infradead.org \
    --cc=arjan@intel.linux.com \
    --cc=ashok.raj@intel.com \
    --cc=davej@redhat.com \
    --cc=dipankar@in.ibm.com \
    --cc=ego@in.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=nickpiggin@yahoo.com.au \
    --cc=pj@sgi.com \
    --cc=rusty@rustcorp.com.au \
    --cc=torvalds@osdl.org \
    --cc=vatsa@in.ibm.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

Powered by JetHome