port jRCU
Forward port jRCU from linux-3.2 to linux-3.4.

Changes this time around, beyond what was needed for a simple port:

  1) Expedite synchronize_rcu completion. This reduces
  wireshark(1)'s Capture->Interface window come-up from
  6 to 1/2 second. Tree-RCU takes one second. I suspect
  come-up could be reduced to a few milliseconds if the
  use of synchronize_rcu in networking could be eliminated.

  2) Switch the jRCU daemon from uninterruptible to
  interruptible sleeps. This keeps it from being the
  highest-reported-cpu-load task in top(1), as tasks
  sleeping uninterrupibly are reported as actually running
  on a cpu, while tasks sleeping interruptibly are not.

  3) turn on uniprocessor support. This has always worked,
  might as well as permit it.

  4) disable those RCU Kconfig feature questions not
  relevant to jRCU. Kconfig should not be asking questions
  for which the answer will not be used.

  5) Added missing RCU interface (rcu_cpu_stall_reset)
  to jRCU. This is used by KGDB.

Background:
  jRCU is a tiny, ultra-simple RCU best suited for small
  SMP systems. Its primary feature is that RCU garbage
  collection for all CPUs is performed from a single CPU,
  rather being distributed across all CPUs as is typical
  of other RCU implementations. This frees up all but one
  CPU from this periodic responsibility.

Signed-off-by: Joe Korty <joe.korty@ccur.com>
Signed-off-by: Luka Karinja <lk@varjanta.com>

Conflicts:
	patch