Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

sched, net: Clean up preempt_enable_no_resched() abuse

The only valid use of preempt_enable_no_resched() is if the very next
line is schedule() or if we know preemption cannot actually be enabled
by that statement due to known more preempt_count 'refs'.

Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: rjw@rjwysocki.net
Cc: Eliezer Tamir <eliezer.tamir@linux.intel.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: rui.zhang@intel.com
Cc: jacob.jun.pan@linux.intel.com
Cc: Mike Galbraith <bitbucket@online.de>
Cc: hpa@zytor.com
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: lenb@kernel.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Link: http://lkml.kernel.org/r/20131119151338.GF3694@twins.programming.kicks-ass.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>

authored by

Peter Zijlstra and committed by
Ingo Molnar
1774e9f3 8cb75e0c

+2 -2
+2 -2
net/ipv4/tcp.c
··· 1623 1623 (len > sysctl_tcp_dma_copybreak) && !(flags & MSG_PEEK) && 1624 1624 !sysctl_tcp_low_latency && 1625 1625 net_dma_find_channel()) { 1626 - preempt_enable_no_resched(); 1626 + preempt_enable(); 1627 1627 tp->ucopy.pinned_list = 1628 1628 dma_pin_iovec_pages(msg->msg_iov, len); 1629 1629 } else { 1630 - preempt_enable_no_resched(); 1630 + preempt_enable(); 1631 1631 } 1632 1632 } 1633 1633 #endif