Re: 2.6.9-rc3-mm2

Dominik Karall
2004-10-05T14:07:27Z

[-- Attachment #1: Type: text/plain, Size: 2158 bytes --]

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)

/* 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
_

i uploaded syslog with panics to http://stud4.tuwien.ac.at/~e0227135/kernel/
the first panic occurred after modprobe ip_conntrack.

best regards,
dominik

[-- Attachment #2: Type: application/pgp-signature, Size: 307 bytes --]