SOURCES (LINUX_2_6_17): kernel-desktop-preempt-rt.patch - updated ...

sparky sparky at pld-linux.org
Tue Nov 14 17:37:28 CET 2006


Author: sparky                       Date: Tue Nov 14 16:37:28 2006 GMT
Module: SOURCES                       Tag: LINUX_2_6_17
---- Log message:
- updated for 2.6.17.14, builds here (ppc)

---- Files affected:
SOURCES:
   kernel-desktop-preempt-rt.patch (1.16 -> 1.16.2.1) 

---- Diffs:

================================================================
Index: SOURCES/kernel-desktop-preempt-rt.patch
diff -u SOURCES/kernel-desktop-preempt-rt.patch:1.16 SOURCES/kernel-desktop-preempt-rt.patch:1.16.2.1
--- SOURCES/kernel-desktop-preempt-rt.patch:1.16	Mon Jul 31 13:37:17 2006
+++ SOURCES/kernel-desktop-preempt-rt.patch	Tue Nov 14 17:37:22 2006
@@ -49264,7 +49264,7 @@
  }
  
  int __sched cond_resched(void)
-@@ -4081,43 +4765,121 @@ EXPORT_SYMBOL(cond_resched);
+@@ -4081,41 +4765,119 @@ EXPORT_SYMBOL(cond_resched);
   * operations here to prevent schedule() from being called twice (once via
   * spin_unlock(), once by hand).
   */
@@ -49281,7 +49281,7 @@
  		spin_lock(lock);
 +		ret = 1;
  	}
- 	if (need_resched()) {
+ 	if (need_resched() && __resched_legal(1)) {
 -		_raw_spin_unlock(lock);
 -		preempt_enable_no_resched();
 +		spin_unlock_no_resched(lock);
@@ -49292,7 +49292,6 @@
  	}
  	return ret;
  }
- 
 -EXPORT_SYMBOL(cond_resched_lock);
 +EXPORT_SYMBOL(__cond_resched_raw_spinlock);
 +
@@ -49325,8 +49324,8 @@
 +#ifndef CONFIG_PREEMPT_RT
  	BUG_ON(!in_softirq());
  
--	if (need_resched()) {
-+	if (softirq_need_resched()) {
+-	if (need_resched() && __resched_legal(0)) {
++	if (softirq_need_resched() && __resched_legal(0)) {
  		__local_bh_enable();
  		__cond_resched();
  		local_bh_disable();
@@ -49335,7 +49334,6 @@
 +#endif
  	return 0;
  }
- 
  EXPORT_SYMBOL(cond_resched_softirq);
  
 +/*
@@ -49391,9 +49389,9 @@
 +__setup("voluntary-preempt=", voluntary_preempt_setup);
 +
 +#endif
- 
  /**
   * yield - yield the current processor to other threads.
+  *
 @@ -4125,12 +4887,31 @@ EXPORT_SYMBOL(cond_resched_softirq);
   * this is a shortcut for kernel-space yielding - it marks the
   * thread runnable and calls sys_sched_yield().
@@ -56870,9 +56868,9 @@
 --- linux.orig/net/ipv4/netfilter/arp_tables.c
 +++ linux/net/ipv4/netfilter/arp_tables.c
 @@ -249,7 +249,7 @@ unsigned int arpt_do_table(struct sk_buf
- 	outdev = out ? out->name : nulldevname;
  
  	read_lock_bh(&table->lock);
+ 	private = table->private;
 -	table_base = (void *)private->entries[smp_processor_id()];
 +	table_base = (void *)private->entries[raw_smp_processor_id()];
  	e = get_entry(table_base, private->hook_entry[hook]);
@@ -56958,9 +56956,9 @@
 --- linux.orig/net/ipv4/netfilter/ip_tables.c
 +++ linux/net/ipv4/netfilter/ip_tables.c
 @@ -248,7 +248,7 @@ ipt_do_table(struct sk_buff **pskb,
- 
  	read_lock_bh(&table->lock);
  	IP_NF_ASSERT(table->valid_hooks & (1 << hook));
+ 	private = table->private;
 -	table_base = (void *)private->entries[smp_processor_id()];
 +	table_base = (void *)private->entries[raw_smp_processor_id()];
  	e = get_entry(table_base, private->hook_entry[hook]);
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/kernel-desktop-preempt-rt.patch?r1=1.16&r2=1.16.2.1&f=u



More information about the pld-cvs-commit mailing list