lkml.org 
[lkml]   [2004]   [Oct]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: 2.6.9-rc3-mm2
From
Date
On Wed, 2004-10-06 at 00:07, Dominik Karall wrote:
> On Monday 04 October 2004 11:02, Andrew Morton wrote:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc3/2.6
> >.9-rc3-mm2/
>
> some more scheduling/preempt problems. following patches were applied:
> ---
> 25/include/linux/netfilter_ipv4/ip_conntrack.h~conntrack-preempt-safety-fix
> Mon Oct 4 14:36:19 2004
> +++ 25-akpm/include/linux/netfilter_ipv4/ip_conntrack.h Mon Oct 4 14:37:02
> 2004
> @@ -311,10 +311,11 @@ struct ip_conntrack_stat
> unsigned int expect_delete;
> };
>
> -#define CONNTRACK_STAT_INC(count) \
> - do { \
> - per_cpu(ip_conntrack_stat, get_cpu()).count++; \
> - put_cpu(); \
> +#define CONNTRACK_STAT_INC(count) \
> + do { \
> + preempt_disable(); \
> + per_cpu(ip_conntrack_stat, smp_processor_id()).count++; \
> + preempt_disable(); \
> } while (0)

Please, please please! Never use per_cpu(XXX, smp_processor_id())! In
this case, it's "get_cpu_var(ip_conntrack_stat).count++; put_cpu(),
although I think this code should only be called in a softirq, so a
simple "__get_cpu_var(ip_conntrack_stat).count++;" is sufficient.

Rusty.
--
Anyone who quotes me in their signature is an idiot -- Rusty Russell

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:07    [W:0.319 / U:0.328 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site