All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Josh Triplett <josh@joshtriplett.org>
Cc: linux-kernel@vger.kernel.org, mingo@kernel.org,
	jiangshanlai@gmail.com, dipankar@in.ibm.com,
	akpm@linux-foundation.org, mathieu.desnoyers@efficios.com,
	tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org,
	dhowells@redhat.com, edumazet@google.com, dvhart@linux.intel.com,
	fweisbec@gmail.com, oleg@redhat.com, bobby.prani@gmail.com
Subject: Re: [PATCH tip/core/rcu 1/8] documentation: Record RCU requirements
Date: Sat, 5 Dec 2015 13:19:10 -0800	[thread overview]
Message-ID: <20151205211910.GA26533@linux.vnet.ibm.com> (raw)
In-Reply-To: <20151205015601.GI28602@linux.vnet.ibm.com>

On Fri, Dec 04, 2015 at 05:56:01PM -0800, Paul E. McKenney wrote:
> On Fri, Dec 04, 2015 at 04:38:42PM -0800, Josh Triplett wrote:

[ . . . ]

> > Because you don't want to complicate the script, or because you don't
> > want to accidentally edit the wrong version?  (Note that a carefully
> > written script would mean it doesn't matter which version you edit.)
> 
> I prefer the simpler script.
> 
> > A third alternative would be to include the answers inline right after
> > the questions, and optionally add a tiny bit of JavaScript that hides
> > them by default and lets you click to show the answer. :)
> 
> That does have some advantages.  I would welcome a patch that added
> the JavaScript.

And I did try a CSS approach with this CSS definition:

	<style media="screen" type="text/css">
	.quick-quiz-wrap {
		position: relative;
	}
	.quick-quiz-wrap .quick-quiz-content {
		display: none;
		position: absolute;
		bottom: -10px;
		left: 10px;
		right: 10px;
		background-color: lightgrey;
		padding: 20px;
	}
	.quick-quiz-wrap:hover .quick-quiz-content {
		display: block;
	}
	</style>

I linked to this as follows:

	<link rel="stylesheet" type="text/css" href="../quick-quiz.css" media="screen">

And used it like this:

	<p><b>Quick Quiz:</b>
	Wait a minute!
	You said that updaters can make useful forward progress concurrently
	with readers, but pre-existing readers will block
	<tt>synchronize_rcu()</tt>!!!
	Just who are you trying to fool???
	</p>

	<div class="quick-quiz-wrap">
		<b>Quick Quiz Answer</b>
		<div class="quick-quiz-content">
			<p>First, if updaters do not wish to be blocked
			by readers, they can use <tt>call_rcu()</tt> or
			<tt>kfree_rcu()</tt>, which will be discussed later.
			Second, even when using <tt>synchronize_rcu()</tt>,
			the other update-side code does run concurrently with
			readers, whether pre-existing or not.
		</div> 
	</div>

This proved fragile.  It worked in trivial cases, but with non-trivial
content in a non-trivial document, it refused to show anything on mouse
hover.  Even in trivial cases, it sometimes made strange choices on
where to display the text.  At this point, I drop back to the old-school
scripted approach.  It has the advantage of working consistently and
providing good user experience, with the HTML unconditionally present. ;-)

							Thanx, Paul


  reply	other threads:[~2015-12-05 21:18 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-04 23:49 [PATCH tip/core/rcu 0/8] Documentation updates for 4.5 Paul E. McKenney
2015-12-04 23:50 ` [PATCH tip/core/rcu 1/8] documentation: Record RCU requirements Paul E. McKenney
2015-12-05  0:07   ` Josh Triplett
2015-12-05  0:33     ` Paul E. McKenney
2015-12-05  0:38       ` Josh Triplett
2015-12-05  1:56         ` Paul E. McKenney
2015-12-05 21:19           ` Paul E. McKenney [this message]
2015-12-05  0:34   ` Josh Triplett
2015-12-05  1:54     ` Paul E. McKenney
2015-12-05 20:19       ` Paul E. McKenney
2015-12-04 23:50 ` [PATCH tip/core/rcu 2/8] Documentation: Record bottom-bit-zero guarantee for ->next Paul E. McKenney
2015-12-04 23:50 ` [PATCH tip/core/rcu 3/8] documentation: Cover requirements controlling stall warnings Paul E. McKenney
2015-12-04 23:50 ` [PATCH tip/core/rcu 4/8] documentation: Composability analogies Paul E. McKenney
2015-12-04 23:50 ` [PATCH tip/core/rcu 5/8] documentation: Expand on scheduler/RCU deadlock requirements Paul E. McKenney
2015-12-04 23:50 ` [PATCH tip/core/rcu 6/8] documentation: Clarify RCU memory barriers and requirements Paul E. McKenney
2015-12-04 23:50 ` [PATCH tip/core/rcu 7/8] documentation: Update RCU requirements based on expedited changes Paul E. McKenney
2015-12-04 23:50 ` [PATCH tip/core/rcu 8/8] Documentation/memory-barriers.txt: Fix ACCESS_ONCE thinko Paul E. McKenney
2015-12-05  0:42 ` [PATCH tip/core/rcu 0/8] Documentation updates for 4.5 Josh Triplett

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=20151205211910.GA26533@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=bobby.prani@gmail.com \
    --cc=dhowells@redhat.com \
    --cc=dipankar@in.ibm.com \
    --cc=dvhart@linux.intel.com \
    --cc=edumazet@google.com \
    --cc=fweisbec@gmail.com \
    --cc=jiangshanlai@gmail.com \
    --cc=josh@joshtriplett.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mingo@kernel.org \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /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.