Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt
authorLinus Torvalds <torvalds@woody.linux-foundation.org>
Sun, 9 Mar 2008 17:06:49 +0000 (10:06 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sun, 9 Mar 2008 17:06:49 +0000 (10:06 -0700)
* git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:
  time: remove obsolete CLOCK_TICK_ADJUST
  time: don't touch an offlined CPU's ts->tick_stopped in tick_cancel_sched_timer()
  time: prevent the loop in timespec_add_ns() from being optimised away
  ntp: use unsigned input for do_div()

arch/alpha/kernel/pci_iommu.c
crypto/chainiv.c
crypto/eseqiv.c
include/crypto/internal/skcipher.h
kernel/exit.c
kernel/sched.c

index be6fa105cd34214d11c8b5bbf11dbc305f7ddae3..e07a23fc5b74e3d966ac1fc0c070f03fef83ca57 100644 (file)
@@ -144,15 +144,14 @@ iommu_arena_find_pages(struct device *dev, struct pci_iommu_arena *arena,
        unsigned long base;
        unsigned long boundary_size;
 
-       BUG_ON(arena->dma_base & ~PAGE_MASK);
        base = arena->dma_base >> PAGE_SHIFT;
-       if (dev)
-               boundary_size = ALIGN(dma_get_max_seg_size(dev) + 1, PAGE_SIZE)
-                       >> PAGE_SHIFT;
-       else
-               boundary_size = ALIGN(1UL << 32, PAGE_SIZE) >> PAGE_SHIFT;
-
-       BUG_ON(!is_power_of_2(boundary_size));
+       if (dev) {
+               boundary_size = dma_get_seg_boundary(dev) + 1;
+               BUG_ON(!is_power_of_2(boundary_size));
+               boundary_size >>= PAGE_SHIFT;
+       } else {
+               boundary_size = 1UL << (32 - PAGE_SHIFT);
+       }
 
        /* Search forward for the first mask-aligned sequence of N free ptes */
        ptes = arena->ptes;
index 0a7cac6e90891c3f7e77a5b2645e160f4fc7b1b2..6da3f577e4db1d6c81c95b1fc9bb3eb7a5424df4 100644 (file)
@@ -318,10 +318,8 @@ int __init chainiv_module_init(void)
 {
        return crypto_register_template(&chainiv_tmpl);
 }
-EXPORT_SYMBOL_GPL(chainiv_module_init);
 
-void __exit chainiv_module_exit(void)
+void chainiv_module_exit(void)
 {
        crypto_unregister_template(&chainiv_tmpl);
 }
-EXPORT_SYMBOL_GPL(chainiv_module_exit);
index 6f2cd063b6fef51e636cd5f55aef02902b800aea..b14f14e314b6cf3ada4bc0694aa9f5f364ab73e7 100644 (file)
@@ -251,10 +251,8 @@ int __init eseqiv_module_init(void)
 {
        return crypto_register_template(&eseqiv_tmpl);
 }
-EXPORT_SYMBOL_GPL(eseqiv_module_init);
 
 void __exit eseqiv_module_exit(void)
 {
        crypto_unregister_template(&eseqiv_tmpl);
 }
-EXPORT_SYMBOL_GPL(eseqiv_module_exit);
index a8f12644a13c73f6a7044ca0d1d206ca0b0565d9..ccc32bad9a890df12d3662401a4de87e60cdbaff 100644 (file)
@@ -68,7 +68,7 @@ void skcipher_geniv_exit(struct crypto_tfm *tfm);
 int __init eseqiv_module_init(void);
 void __exit eseqiv_module_exit(void);
 int __init chainiv_module_init(void);
-void __exit chainiv_module_exit(void);
+void chainiv_module_exit(void);
 
 static inline struct crypto_ablkcipher *skcipher_geniv_cipher(
        struct crypto_ablkcipher *geniv)
index cd20bf07e9e3b7bb2260c4a5939642c9e4bcb0a5..53872bf993fa79d46b6e252db4f393c6a3e6828f 100644 (file)
@@ -1378,7 +1378,7 @@ unlock_sig:
        if (!retval && infop)
                retval = put_user(0, &infop->si_errno);
        if (!retval && infop)
-               retval = put_user(why, &infop->si_code);
+               retval = put_user((short)why, &infop->si_code);
        if (!retval && infop)
                retval = put_user(exit_code, &infop->si_status);
        if (!retval && infop)
index 52b98675acb2b04d51bb9130ba6f195a5a200dad..b02e4fc256459591bcd7b77f2a5dac527bda98c2 100644 (file)
@@ -5813,6 +5813,13 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu)
                /* Must be high prio: stop_machine expects to yield to it. */
                rq = task_rq_lock(p, &flags);
                __setscheduler(rq, p, SCHED_FIFO, MAX_RT_PRIO-1);
+
+               /* Update our root-domain */
+               if (rq->rd) {
+                       BUG_ON(!cpu_isset(cpu, rq->rd->span));
+                       cpu_set(cpu, rq->rd->online);
+               }
+
                task_rq_unlock(rq, &flags);
                cpu_rq(cpu)->migration_thread = p;
                break;
@@ -5821,15 +5828,6 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu)
        case CPU_ONLINE_FROZEN:
                /* Strictly unnecessary, as first user will wake it. */
                wake_up_process(cpu_rq(cpu)->migration_thread);
-
-               /* Update our root-domain */
-               rq = cpu_rq(cpu);
-               spin_lock_irqsave(&rq->lock, flags);
-               if (rq->rd) {
-                       BUG_ON(!cpu_isset(cpu, rq->rd->span));
-                       cpu_set(cpu, rq->rd->online);
-               }
-               spin_unlock_irqrestore(&rq->lock, flags);
                break;
 
 #ifdef CONFIG_HOTPLUG_CPU
@@ -6105,8 +6103,6 @@ static void rq_attach_root(struct rq *rq, struct root_domain *rd)
        rq->rd = rd;
 
        cpu_set(rq->cpu, rd->span);
-       if (cpu_isset(rq->cpu, cpu_online_map))
-               cpu_set(rq->cpu, rd->online);
 
        for (class = sched_class_highest; class; class = class->next) {
                if (class->join_domain)