sched, cleanup, treewide: Remove set_current_state(TASK_RUNNING) after schedule()
authorKirill Tkhai <ktkhai@parallels.com>
Fri, 12 Sep 2014 13:40:54 +0000 (17:40 +0400)
committerIngo Molnar <mingo@kernel.org>
Fri, 19 Sep 2014 10:35:17 +0000 (12:35 +0200)
schedule(), io_schedule() and schedule_timeout() always return
with TASK_RUNNING state set, so one more setting is unnecessary.

(All places in patch are visible good, only exception is
 kiblnd_scheduler() from:

      drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c

 Its schedule() is one line above standard 3 lines of unified diff)

No places where set_current_state() is used for mb().

Signed-off-by: Kirill Tkhai <ktkhai@parallels.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1410529254.3569.23.camel@tkhai
Cc: Alasdair Kergon <agk@redhat.com>
Cc: Anil Belur <askb23@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Dave Kleikamp <shaggy@kernel.org>
Cc: David Airlie <airlied@linux.ie>
Cc: David Howells <dhowells@redhat.com>
Cc: Dmitry Eremin <dmitry.eremin@intel.com>
Cc: Frank Blaschka <blaschka@linux.vnet.ibm.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Isaac Huang <he.huang@intel.com>
Cc: James E.J. Bottomley <JBottomley@parallels.com>
Cc: James E.J. Bottomley <jejb@parisc-linux.org>
Cc: J. Bruce Fields <bfields@fieldses.org>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Jesper Nilsson <jesper.nilsson@axis.com>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: Laura Abbott <lauraa@codeaurora.org>
Cc: Liang Zhen <liang.zhen@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Masaru Nomura <massa.nomura@gmail.com>
Cc: Michael Opdenacker <michael.opdenacker@free-electrons.com>
Cc: Mikael Starvik <starvik@axis.com>
Cc: Mike Snitzer <snitzer@redhat.com>
Cc: Neil Brown <neilb@suse.de>
Cc: Oleg Drokin <green@linuxhacker.ru>
Cc: Peng Tao <bergwolf@gmail.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Robert Love <robert.w.love@intel.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Trond Myklebust <trond.myklebust@primarydata.com>
Cc: Ursula Braun <ursula.braun@de.ibm.com>
Cc: Zi Shen Lim <zlim.lnx@gmail.com>
Cc: devel@driverdev.osuosl.org
Cc: dm-devel@redhat.com
Cc: dri-devel@lists.freedesktop.org
Cc: fcoe-devel@open-fcoe.org
Cc: jfs-discussion@lists.sourceforge.net
Cc: linux390@de.ibm.com
Cc: linux-afs@lists.infradead.org
Cc: linux-cris-kernel@axis.com
Cc: linux-kernel@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-raid@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: qla2xxx-upstream@qlogic.com
Cc: user-mode-linux-devel@lists.sourceforge.net
Cc: user-mode-linux-user@lists.sourceforge.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
21 files changed:
arch/cris/arch-v10/drivers/sync_serial.c
arch/cris/arch-v32/drivers/sync_serial.c
arch/um/drivers/random.c
drivers/gpu/vga/vgaarb.c
drivers/md/dm-bufio.c
drivers/parisc/power.c
drivers/s390/net/claw.c
drivers/scsi/fcoe/fcoe.c
drivers/scsi/qla2xxx/qla_os.c
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c
drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
drivers/staging/lustre/lustre/libcfs/fail.c
drivers/tty/bfin_jtag_comm.c
fs/afs/vlocation.c
fs/jfs/jfs_logmgr.c
fs/jfs/jfs_txnmgr.c
fs/nfs/blocklayout/blocklayoutdev.c
fs/nfs/blocklayout/blocklayoutdm.c
fs/nfsd/nfs4recover.c
kernel/time/hrtimer.c
kernel/trace/ring_buffer_benchmark.c

index 29eb02ab3f259fa0317986400f25c3ede747a6c1..0f3983241e606fa6e9f1d0ac4ee113ee58d5c75c 100644 (file)
@@ -1086,7 +1086,6 @@ static ssize_t sync_serial_write(struct file *file, const char *buf,
        }
        local_irq_restore(flags);
        schedule();
-       set_current_state(TASK_RUNNING);
        remove_wait_queue(&port->out_wait_q, &wait);
        if (signal_pending(current))
                return -EINTR;
index bbb806b68838e074660c830931955ff355502c7e..5a149134cfb58267bfee6e38121ed4fe7b9de76c 100644 (file)
@@ -1089,7 +1089,6 @@ static ssize_t sync_serial_write(struct file *file, const char *buf,
        }
 
        schedule();
-       set_current_state(TASK_RUNNING);
        remove_wait_queue(&port->out_wait_q, &wait);
 
        if (signal_pending(current))
index 9e3a722058279ab1a9b0978f03d61589622e2bb1..dd16c902ff701398c14e055bf71aa6e6a612dfff 100644 (file)
@@ -79,7 +79,6 @@ static ssize_t rng_dev_read (struct file *filp, char __user *buf, size_t size,
                        set_task_state(current, TASK_INTERRUPTIBLE);
 
                        schedule();
-                       set_task_state(current, TASK_RUNNING);
                        remove_wait_queue(&host_read_wait, &wait);
 
                        if (atomic_dec_and_test(&host_sleep_count)) {
index d2077f040f3ec87f0922b8eb67db413539851e53..d07f810c7087d2d0112cb870630d19f70ace987c 100644 (file)
@@ -403,7 +403,6 @@ int vga_get(struct pci_dev *pdev, unsigned int rsrc, int interruptible)
                }
                schedule();
                remove_wait_queue(&vga_wait_queue, &wait);
-               set_current_state(TASK_RUNNING);
        }
        return rc;
 }
index ab472c557d18c060d8230bbfcadbd747b36f0fd0..0505559f0965abb6cd5ce459034eb2ee31800d56 100644 (file)
@@ -720,7 +720,6 @@ static void __wait_for_free_buffer(struct dm_bufio_client *c)
 
        io_schedule();
 
-       set_task_state(current, TASK_RUNNING);
        remove_wait_queue(&c->free_buffer_wait, &wait);
 
        dm_bufio_lock(c);
index 90cca5e3805f584cbf3a571098e64f684aca3797..ef31b77404ef8e1113010805cbcbe46b71f1ff0f 100644 (file)
@@ -121,7 +121,6 @@ static int kpowerswd(void *param)
                unsigned long soft_power_reg = (unsigned long) param;
 
                schedule_timeout_interruptible(pwrsw_enabled ? HZ : HZ/POWERSWITCH_POLL_PER_SEC);
-               __set_current_state(TASK_RUNNING);
 
                if (unlikely(!pwrsw_enabled))
                        continue;
index fbc6701bef30811c7359861fcf6b81da39f6476d..213e54ee8a6660de47b05825f4ba5265bccd3463 100644 (file)
@@ -481,7 +481,6 @@ claw_open(struct net_device *dev)
                 spin_unlock_irqrestore(
                        get_ccwdev_lock(privptr->channel[i].cdev), saveflags);
                 schedule();
-               set_current_state(TASK_RUNNING);
                 remove_wait_queue(&privptr->channel[i].wait, &wait);
                 if(rc != 0)
                         ccw_check_return_code(privptr->channel[i].cdev, rc);
@@ -828,7 +827,6 @@ claw_release(struct net_device *dev)
                spin_unlock_irqrestore(
                        get_ccwdev_lock(privptr->channel[i].cdev), saveflags);
                schedule();
-               set_current_state(TASK_RUNNING);
                remove_wait_queue(&privptr->channel[i].wait, &wait);
                if (rc != 0) {
                         ccw_check_return_code(privptr->channel[i].cdev, rc);
index 00ee0ed642aac717fd8c0b1e2976c860ccb664ff..4a8ac7d8c76b25467e5f51087f3f2ff6d6e2f5dd 100644 (file)
@@ -1884,7 +1884,6 @@ retry:
                        set_current_state(TASK_INTERRUPTIBLE);
                        spin_unlock_bh(&p->fcoe_rx_list.lock);
                        schedule();
-                       set_current_state(TASK_RUNNING);
                        goto retry;
                }
 
index be9698d920c2a2e7853c800c3ed9c3004a0ab90c..8b5a5dc129b4f17a372ac9eb9bef4aa753afb529 100644 (file)
@@ -4853,7 +4853,6 @@ qla2x00_do_dpc(void *data)
                    "DPC handler sleeping.\n");
 
                schedule();
-               __set_current_state(TASK_RUNNING);
 
                if (!base_vha->flags.init_done || ha->flags.mbox_busy)
                        goto end_loop;
index 306d72876432a730baa16cda698f32414facfd5c..b94f7436ec192168d198c591e26c1c72ed2a7dd9 100644 (file)
@@ -3215,7 +3215,6 @@ kiblnd_connd (void *arg)
 
                schedule_timeout(timeout);
 
-               set_current_state(TASK_RUNNING);
                remove_wait_queue(&kiblnd_data.kib_connd_waitq, &wait);
                spin_lock_irqsave(&kiblnd_data.kib_connd_lock, flags);
        }
@@ -3432,7 +3431,6 @@ kiblnd_scheduler(void *arg)
                busy_loops = 0;
 
                remove_wait_queue(&sched->ibs_waitq, &wait);
-               set_current_state(TASK_RUNNING);
                spin_lock_irqsave(&sched->ibs_lock, flags);
        }
 
@@ -3507,7 +3505,6 @@ kiblnd_failover_thread(void *arg)
 
                rc = schedule_timeout(long_sleep ? cfs_time_seconds(10) :
                                                   cfs_time_seconds(1));
-               set_current_state(TASK_RUNNING);
                remove_wait_queue(&kiblnd_data.kib_failover_waitq, &wait);
                write_lock_irqsave(glock, flags);
 
index 521439954fcb672c2dd6b165127e06292bdd93d5..9994fc66111bc90c60aef4219f6970d05f7134f6 100644 (file)
@@ -2233,7 +2233,6 @@ ksocknal_connd (void *arg)
                nloops = 0;
                schedule_timeout(timeout);
 
-               set_current_state(TASK_RUNNING);
                remove_wait_queue(&ksocknal_data.ksnd_connd_waitq, &wait);
                spin_lock_bh(connd_lock);
        }
index 1bf9c90b4789237990f1fedf232c6a5b48726368..e73ca3df97340625cdeb8c0f2a9a4ee2d41d1d21 100644 (file)
@@ -131,7 +131,6 @@ int __cfs_fail_timeout_set(__u32 id, __u32 value, int ms, int set)
                       id, ms);
                set_current_state(TASK_UNINTERRUPTIBLE);
                schedule_timeout(cfs_time_seconds(ms) / 1000);
-               set_current_state(TASK_RUNNING);
                CERROR("cfs_fail_timeout id %x awake\n", id);
        }
        return ret;
index 8096fcbe2dc171d4742b561fdcaa0f60e1894547..d7b198c400c755487309cf6e6d9b615c9cfe4a69 100644 (file)
@@ -77,7 +77,6 @@ bfin_jc_emudat_manager(void *arg)
                        pr_debug("waiting for readers\n");
                        __set_current_state(TASK_UNINTERRUPTIBLE);
                        schedule();
-                       __set_current_state(TASK_RUNNING);
                        continue;
                }
 
index b6df2e83809f4ac81ed5b3d02f944ac7f32d9de8..52976785a32caed097d9bb10f9990557189bbe77 100644 (file)
@@ -130,7 +130,6 @@ static int afs_vlocation_access_vl_by_id(struct afs_vlocation *vl,
                                        /* second+ BUSY - sleep a little bit */
                                        set_current_state(TASK_UNINTERRUPTIBLE);
                                        schedule_timeout(1);
-                                       __set_current_state(TASK_RUNNING);
                                }
                                continue;
                        }
index 0acddf60af55a3c39147603121bbdeb237d64112..bc462dcd7a4054dc158f4fb4636c38c6c1575bde 100644 (file)
@@ -1585,7 +1585,6 @@ void jfs_flush_journal(struct jfs_log *log, int wait)
                set_current_state(TASK_UNINTERRUPTIBLE);
                LOGGC_UNLOCK(log);
                schedule();
-               __set_current_state(TASK_RUNNING);
                LOGGC_LOCK(log);
                remove_wait_queue(&target->gcwait, &__wait);
        }
@@ -2359,7 +2358,6 @@ int jfsIOWait(void *arg)
                        set_current_state(TASK_INTERRUPTIBLE);
                        spin_unlock_irq(&log_redrive_lock);
                        schedule();
-                       __set_current_state(TASK_RUNNING);
                }
        } while (!kthread_should_stop());
 
index 564c4f279ac630e8458cd74029284c65f44a7796..d595856453b24ec36234687373aec6576afa3b90 100644 (file)
@@ -136,7 +136,6 @@ static inline void TXN_SLEEP_DROP_LOCK(wait_queue_head_t * event)
        set_current_state(TASK_UNINTERRUPTIBLE);
        TXN_UNLOCK();
        io_schedule();
-       __set_current_state(TASK_RUNNING);
        remove_wait_queue(event, &wait);
 }
 
@@ -2808,7 +2807,6 @@ int jfs_lazycommit(void *arg)
                        set_current_state(TASK_INTERRUPTIBLE);
                        LAZY_UNLOCK(flags);
                        schedule();
-                       __set_current_state(TASK_RUNNING);
                        remove_wait_queue(&jfs_commit_thread_wait, &wq);
                }
        } while (!kthread_should_stop());
@@ -2996,7 +2994,6 @@ int jfs_sync(void *arg)
                        set_current_state(TASK_INTERRUPTIBLE);
                        TXN_UNLOCK();
                        schedule();
-                       __set_current_state(TASK_RUNNING);
                }
        } while (!kthread_should_stop());
 
index 04303b5c93618b9ad9c73bbde74e4f64e64c684f..9fde840c42d361510ad498c55e78d16b523f155e 100644 (file)
@@ -146,7 +146,6 @@ nfs4_blk_decode_device(struct nfs_server *server,
 
        set_current_state(TASK_UNINTERRUPTIBLE);
        schedule();
-       __set_current_state(TASK_RUNNING);
        remove_wait_queue(&nn->bl_wq, &wq);
 
        if (reply->status != BL_DEVICE_REQUEST_PROC) {
index 8999cfddd866a352e0937676bfcb94b40f03d120..b18680eb6b394913c8a5d805cb887e11c7ba6eb7 100644 (file)
@@ -76,7 +76,6 @@ static void dev_remove(struct net *net, dev_t dev)
 
        set_current_state(TASK_UNINTERRUPTIBLE);
        schedule();
-       __set_current_state(TASK_RUNNING);
        remove_wait_queue(&nn->bl_wq, &wq);
 
 out:
index 9c271f42604a3644e9e826af6f252348e1429249..8f1af78ebb674c93ca7fb5a5b5a13c2c9ae30416 100644 (file)
@@ -670,7 +670,6 @@ __cld_pipe_upcall(struct rpc_pipe *pipe, struct cld_msg *cmsg)
        }
 
        schedule();
-       set_current_state(TASK_RUNNING);
 
        if (msg.errno < 0)
                ret = msg.errno;
index 1c2fe7de28427c6393b61374b5871971fcffc240..ab370ffffd53dc5d826137c796df5c32afe81abf 100644 (file)
@@ -1776,7 +1776,6 @@ schedule_hrtimeout_range_clock(ktime_t *expires, unsigned long delta,
         */
        if (!expires) {
                schedule();
-               __set_current_state(TASK_RUNNING);
                return -EINTR;
        }
 
index 0434ff1b808e92c539b70828185c8fa1c44c865a..3f9e328c30b5299961a8ad86250dd89ca35aaaa3 100644 (file)
@@ -205,7 +205,6 @@ static void ring_buffer_consumer(void)
                        break;
 
                schedule();
-               __set_current_state(TASK_RUNNING);
        }
        reader_finish = 0;
        complete(&read_done);
@@ -379,7 +378,6 @@ static int ring_buffer_consumer_thread(void *arg)
                        break;
 
                schedule();
-               __set_current_state(TASK_RUNNING);
        }
        __set_current_state(TASK_RUNNING);
 
@@ -407,7 +405,6 @@ static int ring_buffer_producer_thread(void *arg)
                trace_printk("Sleeping for 10 secs\n");
                set_current_state(TASK_INTERRUPTIBLE);
                schedule_timeout(HZ * SLEEP_TIME);
-               __set_current_state(TASK_RUNNING);
        }
 
        if (kill_test)