Commit 121caf577dc61588c1128821873a08cec48baf58

Authored by Nishanth Aravamudan
Committed by David S. Miller
1 parent 7672d0b544

[NET]: fix-up schedule_timeout() usage

Use schedule_timeout_{,un}interruptible() instead of
set_current_state()/schedule_timeout() to reduce kernel size.  Also use
human-time conversion functions instead of hard-coded division to avoid
rounding issues.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 4 changed files with 11 additions and 20 deletions Side-by-side Diff

... ... @@ -1452,8 +1452,7 @@
1452 1452 thread_lock();
1453 1453 t->control |= T_REMDEV;
1454 1454 thread_unlock();
1455   - current->state = TASK_INTERRUPTIBLE;
1456   - schedule_timeout(HZ/8); /* Propagate thread->control */
  1455 + schedule_timeout_interruptible(msecs_to_jiffies(125)); /* Propagate thread->control */
1457 1456 ret = count;
1458 1457 sprintf(pg_result, "OK: rem_device_all");
1459 1458 goto out;
... ... @@ -1716,10 +1715,9 @@
1716 1715 printk(KERN_INFO "sleeping for %d\n", (int)(spin_until_us - now));
1717 1716 while (now < spin_until_us) {
1718 1717 /* TODO: optimise sleeping behavior */
1719   - if (spin_until_us - now > (1000000/HZ)+1) {
1720   - current->state = TASK_INTERRUPTIBLE;
1721   - schedule_timeout(1);
1722   - } else if (spin_until_us - now > 100) {
  1718 + if (spin_until_us - now > jiffies_to_usecs(1)+1)
  1719 + schedule_timeout_interruptible(1);
  1720 + else if (spin_until_us - now > 100) {
1723 1721 do_softirq();
1724 1722 if (!pkt_dev->running)
1725 1723 return;
... ... @@ -2449,8 +2447,7 @@
2449 2447 }
2450 2448 thread_unlock();
2451 2449  
2452   - current->state = TASK_INTERRUPTIBLE;
2453   - schedule_timeout(HZ/8); /* Propagate thread->control */
  2450 + schedule_timeout_interruptible(msecs_to_jiffies(125)); /* Propagate thread->control */
2454 2451  
2455 2452 pktgen_wait_all_threads_run();
2456 2453 }
... ... @@ -1103,10 +1103,8 @@
1103 1103 #endif
1104 1104  
1105 1105 jiff = jiffies + (d->next ? CONF_INTER_TIMEOUT : timeout);
1106   - while (time_before(jiffies, jiff) && !ic_got_reply) {
1107   - set_current_state(TASK_UNINTERRUPTIBLE);
1108   - schedule_timeout(1);
1109   - }
  1106 + while (time_before(jiffies, jiff) && !ic_got_reply)
  1107 + schedule_timeout_uninterruptible(1);
1110 1108 #ifdef IPCONFIG_DHCP
1111 1109 /* DHCP isn't done until we get a DHCPACK. */
1112 1110 if ((ic_got_reply & IC_BOOTP)
net/irda/ircomm/ircomm_tty.c
... ... @@ -567,10 +567,8 @@
567 567 self->tty = NULL;
568 568  
569 569 if (self->blocked_open) {
570   - if (self->close_delay) {
571   - current->state = TASK_INTERRUPTIBLE;
572   - schedule_timeout(self->close_delay);
573   - }
  570 + if (self->close_delay)
  571 + schedule_timeout_interruptible(self->close_delay);
574 572 wake_up_interruptible(&self->open_wait);
575 573 }
576 574  
... ... @@ -863,8 +861,7 @@
863 861 spin_lock_irqsave(&self->spinlock, flags);
864 862 while (self->tx_skb && self->tx_skb->len) {
865 863 spin_unlock_irqrestore(&self->spinlock, flags);
866   - current->state = TASK_INTERRUPTIBLE;
867   - schedule_timeout(poll_time);
  864 + schedule_timeout_interruptible(poll_time);
868 865 spin_lock_irqsave(&self->spinlock, flags);
869 866 if (signal_pending(current))
870 867 break;
net/sunrpc/svcsock.c
... ... @@ -1170,8 +1170,7 @@
1170 1170 while (rqstp->rq_arghi < pages) {
1171 1171 struct page *p = alloc_page(GFP_KERNEL);
1172 1172 if (!p) {
1173   - set_current_state(TASK_UNINTERRUPTIBLE);
1174   - schedule_timeout(HZ/2);
  1173 + schedule_timeout_uninterruptible(msecs_to_jiffies(500));
1175 1174 continue;
1176 1175 }
1177 1176 rqstp->rq_argpages[rqstp->rq_arghi++] = p;