Merge branch 'master' into for-next
authorJiri Kosina <jkosina@suse.cz>
Tue, 28 May 2013 08:09:22 +0000 (10:09 +0200)
committerJiri Kosina <jkosina@suse.cz>
Tue, 28 May 2013 08:09:29 +0000 (10:09 +0200)
Merge with 49717cb ("kthread: Document ways of reducing OS jitter due
to per-CPU kthreads") to be able to apply fixup patch on top of it.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
1  2 
Documentation/kernel-parameters.txt
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/radeon/radeon_irq_kms.c
fs/f2fs/super.c

index da519d3c6bf68db73c0d035dcbd513f7a88e484d,22303b2e74bc9def14d48d27889b9d58769490dd..a9d780e5d8a863d864ae9b678e61f5162fb6adc6
@@@ -1625,7 -1625,7 +1625,7 @@@ bytes respectively. Such letter suffixe
        module.sig_enforce
                        [KNL] When CONFIG_MODULE_SIG is set, this means that
                        modules without (valid) signatures will fail to load.
 -                      Note that if CONFIG_MODULE_SIG_ENFORCE is set, that
 +                      Note that if CONFIG_MODULE_SIG_FORCE is set, that
                        is always true, so this option does nothing.
  
        mousedev.tap_time=
        noreplace-smp   [X86-32,SMP] Don't replace SMP instructions
                        with UP alternatives
  
 -      noresidual      [PPC] Don't use residual data on PReP machines.
 -
        nordrand        [X86] Disable the direct use of the RDRAND
                        instruction even if it is supported by the
                        processor.  RDRAND is still available to user
                        In kernels built with CONFIG_RCU_NOCB_CPU=y, set
                        the specified list of CPUs to be no-callback CPUs.
                        Invocation of these CPUs' RCU callbacks will
-                       be offloaded to "rcuoN" kthreads created for
-                       that purpose.  This reduces OS jitter on the
+                       be offloaded to "rcuox/N" kthreads created for
+                       that purpose, where "x" is "b" for RCU-bh, "p"
+                       for RCU-preempt, and "s" for RCU-sched, and "N"
+                       is the CPU number.  This reduces OS jitter on the
                        offloaded CPUs, which can be useful for HPC and
                        real-time workloads.  It can also improve energy
                        efficiency for asymmetric multiprocessors.
  
                        leaf rcu_node structure.  Useful for very large
                        systems.
  
+       rcutree.jiffies_till_first_fqs= [KNL,BOOT]
+                       Set delay from grace-period initialization to
+                       first attempt to force quiescent states.
+                       Units are jiffies, minimum value is zero,
+                       and maximum value is HZ.
+       rcutree.jiffies_till_next_fqs= [KNL,BOOT]
+                       Set delay between subsequent attempts to force
+                       quiescent states.  Units are jiffies, minimum
+                       value is one, and maximum value is HZ.
        rcutree.qhimark=        [KNL,BOOT]
                        Set threshold of queued
                        RCU callbacks over which batch limiting is disabled.
        rcutree.rcu_cpu_stall_timeout= [KNL,BOOT]
                        Set timeout for RCU CPU stall warning messages.
  
-       rcutree.jiffies_till_first_fqs= [KNL,BOOT]
-                       Set delay from grace-period initialization to
-                       first attempt to force quiescent states.
-                       Units are jiffies, minimum value is zero,
-                       and maximum value is HZ.
+       rcutree.rcu_idle_gp_delay=      [KNL,BOOT]
+                       Set wakeup interval for idle CPUs that have
+                       RCU callbacks (RCU_FAST_NO_HZ=y).
  
-       rcutree.jiffies_till_next_fqs= [KNL,BOOT]
-                       Set delay between subsequent attempts to force
-                       quiescent states.  Units are jiffies, minimum
-                       value is one, and maximum value is HZ.
+       rcutree.rcu_idle_lazy_gp_delay= [KNL,BOOT]
+                       Set wakeup interval for idle CPUs that have
+                       only "lazy" RCU callbacks (RCU_FAST_NO_HZ=y).
+                       Lazy RCU callbacks are those which RCU can
+                       prove do nothing more than free memory.
  
        rcutorture.fqs_duration= [KNL,BOOT]
                        Set duration of force_quiescent_state bursts.
index 6d8219e59bdefe61daafaca5042317be65011f3e,6f728e5ee79391d3bf726f971eb7b96af307df0d..628067a154b2620f071920822fcdf8c4ebd53e5d
@@@ -353,7 -353,8 +353,8 @@@ intel_dp_aux_wait_done(struct intel_dp 
  
  #define C (((status = I915_READ_NOTRACE(ch_ctl)) & DP_AUX_CH_CTL_SEND_BUSY) == 0)
        if (has_aux_irq)
-               done = wait_event_timeout(dev_priv->gmbus_wait_queue, C, 10);
+               done = wait_event_timeout(dev_priv->gmbus_wait_queue, C,
+                                         msecs_to_jiffies(10));
        else
                done = wait_for_atomic(C, 10) == 0;
        if (!done)
@@@ -2017,7 -2018,7 +2018,7 @@@ intel_dp_complete_link_train(struct int
        }
  
        if (channel_eq)
 -              DRM_DEBUG_KMS("Channel EQ done. DP Training successfull\n");
 +              DRM_DEBUG_KMS("Channel EQ done. DP Training successful\n");
  
        intel_dp_set_link_train(intel_dp, DP, DP_TRAINING_PATTERN_DISABLE);
  }
index 8c8a7f0d982e4760f398d4861806d72022b729a2,48f80cd42d8f35a8a4e8757c6268172288c4573a..5a99d433fc35d52f57aa11649b1847ce7c7e7321
@@@ -270,7 -270,7 +270,7 @@@ int radeon_irq_kms_init(struct radeon_d
  }
  
  /**
 - * radeon_irq_kms_fini - tear down driver interrrupt info
 + * radeon_irq_kms_fini - tear down driver interrupt info
   *
   * @rdev: radeon device pointer
   *
@@@ -400,6 -400,9 +400,9 @@@ void radeon_irq_kms_enable_afmt(struct 
  {
        unsigned long irqflags;
  
+       if (!rdev->ddev->irq_enabled)
+               return;
        spin_lock_irqsave(&rdev->irq.lock, irqflags);
        rdev->irq.afmt[block] = true;
        radeon_irq_set(rdev);
@@@ -419,6 -422,9 +422,9 @@@ void radeon_irq_kms_disable_afmt(struc
  {
        unsigned long irqflags;
  
+       if (!rdev->ddev->irq_enabled)
+               return;
        spin_lock_irqsave(&rdev->irq.lock, irqflags);
        rdev->irq.afmt[block] = false;
        radeon_irq_set(rdev);
@@@ -438,6 -444,9 +444,9 @@@ void radeon_irq_kms_enable_hpd(struct r
        unsigned long irqflags;
        int i;
  
+       if (!rdev->ddev->irq_enabled)
+               return;
        spin_lock_irqsave(&rdev->irq.lock, irqflags);
        for (i = 0; i < RADEON_MAX_HPD_PINS; ++i)
                rdev->irq.hpd[i] |= !!(hpd_mask & (1 << i));
@@@ -458,6 -467,9 +467,9 @@@ void radeon_irq_kms_disable_hpd(struct 
        unsigned long irqflags;
        int i;
  
+       if (!rdev->ddev->irq_enabled)
+               return;
        spin_lock_irqsave(&rdev->irq.lock, irqflags);
        for (i = 0; i < RADEON_MAX_HPD_PINS; ++i)
                rdev->irq.hpd[i] &= !(hpd_mask & (1 << i));
diff --combined fs/f2fs/super.c
index 45db17bb71bc8e974e5cc68a345819019f8744cc,fea6e582a2ed62995e1db703af39a2c436e9df4f..62e017743af6285bc7cdebbe692095b0d71c67d2
@@@ -82,7 -82,7 +82,7 @@@ static struct inode *f2fs_alloc_inode(s
  
        init_once((void *) fi);
  
 -      /* Initilize f2fs-specific inode info */
 +      /* Initialize f2fs-specific inode info */
        fi->vfs_inode.i_version = 1;
        atomic_set(&fi->dirty_dents, 0);
        fi->i_current_depth = 1;
@@@ -687,6 -687,7 +687,7 @@@ static struct file_system_type f2fs_fs_
        .kill_sb        = kill_block_super,
        .fs_flags       = FS_REQUIRES_DEV,
  };
+ MODULE_ALIAS_FS("f2fs");
  
  static int __init init_inodecache(void)
  {