Messages in this thread Patches in this message | | | Date | Mon, 4 Oct 2004 14:39:53 -0700 | From | Andrew Morton <> | Subject | Re: 2.6.9-rc3-mm2 |
| |
Andrew Morton <akpm@osdl.org> wrote: > > Could you try this patch? It'll locate the bug for us.
Don't worry about this - Ingo found it.
You could try these instead:
--- 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) /* eg. PROVIDES_CONNTRACK(ftp); */ _
--- 25/include/net/neighbour.h~neigh_stat-preempt-fix-fix Mon Oct 4 14:39:22 2004 +++ 25-akpm/include/net/neighbour.h Mon Oct 4 14:39:22 2004 @@ -113,8 +113,9 @@ struct neigh_statistics #define NEIGH_CACHE_STAT_INC(tbl, field) \ do { \ - (per_cpu_ptr((tbl)->stats, get_cpu())->field)++; \ - put_cpu(); \ + preempt_disable(); \ + (per_cpu_ptr((tbl)->stats, smp_processor_id())->field)++; \ + preempt_enable(); \ } while (0) struct neighbour _ - 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/
| |