1 >thursday. the box is still up and oops-free this morning. so, we
2 >definately have an smp problem here...
6 >now, how in the world do we go about tracking something like this down?
8 try the following patch. the neighbour code in clip seems a bit
9 non-standard -- there might be other lossage
12 ===================================================================
13 RCS file: /afs/cmf/project/cvsroot/linux/net/atm/clip.c,v
14 retrieving revision 1.8
16 --- net/atm/clip.c 7 Mar 2003 18:54:44 -0000 1.8
17 +++ net/atm/clip.c 10 Mar 2003 12:33:43 -0000
19 /*DPRINTK("idle_timer_check\n");*/
20 write_lock(&clip_tbl.lock);
21 for (i = 0; i <= NEIGH_HASHMASK; i++) {
22 - struct neighbour **np;
23 + struct neighbour *n, **np;
25 - for (np = &clip_tbl.hash_buckets[i]; *np;) {
26 - struct neighbour *n = *np;
27 + np = &clip_tbl.hash_buckets[i];
28 + while ((n = *np) != NULL) {
29 struct atmarp_entry *entry = NEIGH2ENTRY(n);
30 struct clip_vcc *clip_vcc;
32 + write_lock(&n->lock);
34 for (clip_vcc = entry->vccs; clip_vcc;
35 clip_vcc = clip_vcc->next)
36 if (clip_vcc->idle_timeout &&
38 atm_async_release_vcc(clip_vcc->vcc,
43 time_before(jiffies, entry->expires)) {
44 + write_unlock(&n->lock);
49 while ((skb = skb_dequeue(&n->arp_queue)) !=
52 + write_unlock(&n->lock);
57 DPRINTK("expired neigh %p\n",n);
59 + write_unlock(&n->lock);
65 -------------------------------------------------------
66 This sf.net email is sponsored by:ThinkGeek
67 Welcome to geek heaven.
68 http://thinkgeek.com/sf
69 _______________________________________________
70 Linux-atm-general mailing list
71 Linux-atm-general@lists.sourceforge.net
72 https://lists.sourceforge.net/lists/listinfo/linux-atm-general