Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
authorLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 4 Dec 2007 17:28:45 +0000 (09:28 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 4 Dec 2007 17:28:45 +0000 (09:28 -0800)
* git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
  x86: arch_register_cpu() section fix
  x86: free_cache_attributes() section fix
  x86: add the word 'WARNING' in check_nmi_watchdog() output
  x86: revert CONFIG_X86_HT semantics change

MAINTAINERS
drivers/s390/net/ctcmain.c
kernel/sched.c
kernel/sched_fair.c

index 2bbe40ea4d10e8217dfa3e8b5b6e3d715814aca3..3002cc811c10bfe5ead178568993ddf619aa3b37 100644 (file)
@@ -2598,13 +2598,6 @@ L:       https://tango.0pointer.de/mailman/listinfo/s270-linux
 W:     http://0pointer.de/lennart/tchibo.html
 S:     Maintained
 
-MTRR AND SIMILAR SUPPORT [i386]
-P:     Richard Gooch
-M:     rgooch@atnf.csiro.au
-L:     linux-kernel@vger.kernel.org
-W:     http://www.atnf.csiro.au/~rgooch/linux/kernel-patches.html
-S:     Maintained
-
 MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM
 P:     Pierre Ossman
 M:     drzeus-mmc@drzeus.cx
index b3b6f654365ca512a88128c742a95d1be5e77127..97adc701a819404da67bcbd6c55f973b868212ae 100644 (file)
@@ -2802,7 +2802,6 @@ void ctc_init_netdevice(struct net_device * dev)
        dev->type = ARPHRD_SLIP;
        dev->tx_queue_len = 100;
        dev->flags = IFF_POINTOPOINT | IFF_NOARP;
-       SET_MODULE_OWNER(dev);
 }
 
 
index 59ff6b140edbdbab1cf0923c4267aef437708e1d..b062856b946c4fbe4387763b0fdd61f9ac48625b 100644 (file)
@@ -4850,17 +4850,21 @@ long sys_sched_rr_get_interval(pid_t pid, struct timespec __user *interval)
        if (retval)
                goto out_unlock;
 
-       if (p->policy == SCHED_FIFO)
-               time_slice = 0;
-       else if (p->policy == SCHED_RR)
+       /*
+        * Time slice is 0 for SCHED_FIFO tasks and for SCHED_OTHER
+        * tasks that are on an otherwise idle runqueue:
+        */
+       time_slice = 0;
+       if (p->policy == SCHED_RR) {
                time_slice = DEF_TIMESLICE;
-       else {
+       else {
                struct sched_entity *se = &p->se;
                unsigned long flags;
                struct rq *rq;
 
                rq = task_rq_lock(p, &flags);
-               time_slice = NS_TO_JIFFIES(sched_slice(cfs_rq_of(se), se));
+               if (rq->cfs.load.weight)
+                       time_slice = NS_TO_JIFFIES(sched_slice(&rq->cfs, se));
                task_rq_unlock(rq, &flags);
        }
        read_unlock(&tasklist_lock);
index 37bb265598dbd754afee7ad37a8f84d5aa25a61f..c33f0ceb3de9a64dc43538f7d9427c89a4b98eeb 100644 (file)
@@ -799,8 +799,9 @@ static void dequeue_task_fair(struct rq *rq, struct task_struct *p, int sleep)
  */
 static void yield_task_fair(struct rq *rq)
 {
-       struct cfs_rq *cfs_rq = task_cfs_rq(rq->curr);
-       struct sched_entity *rightmost, *se = &rq->curr->se;
+       struct task_struct *curr = rq->curr;
+       struct cfs_rq *cfs_rq = task_cfs_rq(curr);
+       struct sched_entity *rightmost, *se = &curr->se;
 
        /*
         * Are we the only task in the tree?
@@ -808,7 +809,7 @@ static void yield_task_fair(struct rq *rq)
        if (unlikely(cfs_rq->nr_running == 1))
                return;
 
-       if (likely(!sysctl_sched_compat_yield)) {
+       if (likely(!sysctl_sched_compat_yield) && curr->policy != SCHED_BATCH) {
                __update_rq_clock(rq);
                /*
                 * Update run-time statistics of the 'current'.
This page took 0.035944 seconds and 5 git commands to generate.