linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* dcache BUG()
@ 2001-05-07 17:21 Brian Kuschak
  2001-05-07 20:58 ` Dan Malek
  0 siblings, 1 reply; 57+ messages in thread
From: Brian Kuschak @ 2001-05-07 17:21 UTC (permalink / raw)
  To: 'linuxppc-embedded@lists.linuxppc.org'


I posted this to message linux-kernel too, but maybe someone here has seen
this, or can duplicate this problem...

Running snmpd or httpd overnight causes this oops: (kernel BUG at
/home/brian/linux/include/linux/dcache.h:251! - in dget() called from
d_alloc()).  Occasionally I see: de_put: entry net already free! before the
oops.

I've been able to reliably reproduce the problem in 15 minutes by running
this instead:
while /bin/true; do cat /proc/net/* 2>/dev/null > /tmp/junk; done;

The dget() fails when trying to open /proc/net/tcp, for example, and finds
that net has a zero dentry->d_count.

Montavista 2.4.2, patched to 2.4.3 on a 405GP, with root fs on ramdisk. Any
ideas on why this is happening? The system is stable otherwise.

Thanks, Brian

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 57+ messages in thread
* RE: dcache BUG()
@ 2001-05-07 19:04 Eli Chen
  2001-05-07 21:04 ` Dan Malek
  2001-05-07 21:17 ` Dan Malek
  0 siblings, 2 replies; 57+ messages in thread
From: Eli Chen @ 2001-05-07 19:04 UTC (permalink / raw)
  To: brian.kuschak; +Cc: linuxppc-embedded


Brian,

I have also seen the dcache BUG, as well as bugs and warnings from other
parts of the kernel in the MontaVista 2.4.0 kernel.  They all seem to be
related to a inconsistency with reference counters, which led me to suspect
a problem with atomic instructions in our kernel.  I have replaced the
lwarx/stcrx pairs in include/asm-ppc/atomic.h with code that just turns off
and on interrupts, and that seemed to have made the error messages and BUGs
disappear.  Please try this patch and see if you still have the same
problems.  This is really just a work around for us until we find out what
is the real problem.

thanks,
Eli

diff -c -r1.1.1.2 atomic.h
*** atomic.h 2001/02/21 00:53:16 1.1.1.2
--- atomic.h 2001/05/07 18:35:10
***************
*** 5,10 ****
--- 5,25 ----
  #ifndef _ASM_PPC_ATOMIC_H_
  #define _ASM_PPC_ATOMIC_H_

+ struct int_control_struct
+ {
+         void (*int_cli)(void);
+         void (*int_sti)(void);
+         void (*int_restore_flags)(unsigned long);
+         void (*int_save_flags)(unsigned long *);
+         void (*int_set_lost)(unsigned long);
+ };
+
+ extern struct int_control_struct int_control;
+ #define __cli() int_control.int_cli()
+ #define __sti() int_control.int_sti()
+ #define __save_flags(flags) int_control.int_save_flags((unsigned long
*)&flags)
+ #define __restore_flags(flags) int_control.int_restore_flags((unsigned
long)flags)
+
  typedef struct { volatile int counter; } atomic_t;

  #define ATOMIC_INIT(i) { (i) }
***************
*** 17,80 ****

  static __inline__ int atomic_add_return(int a, atomic_t *v)
  {
!  int t;

!  __asm__ __volatile__("\n\
! 1: lwarx %0,0,%3\n\
!  add %0,%2,%0\n\
!  stwcx. %0,0,%3\n\
!  bne- 1b"
!  : "=&r" (t), "=m" (v->counter)
!  : "r" (a), "r" (v), "m" (v->counter)
!  : "cc");

   return t;
  }

  static __inline__ int atomic_sub_return(int a, atomic_t *v)
  {
!  int t;

!  __asm__ __volatile__("\n\
! 1: lwarx %0,0,%3\n\
!  subf %0,%2,%0\n\
!  stwcx. %0,0,%3\n\
!  bne- 1b"
!  : "=&r" (t), "=m" (v->counter)
!  : "r" (a), "r" (v), "m" (v->counter)
!  : "cc");

   return t;
  }

  static __inline__ int atomic_inc_return(atomic_t *v)
  {
!  int t;

!  __asm__ __volatile__("\n\
! 1: lwarx %0,0,%2\n\
!  addic %0,%0,1\n\
!  stwcx. %0,0,%2\n\
!  bne- 1b"
!  : "=&r" (t), "=m" (v->counter)
!  : "r" (v), "m" (v->counter)
!  : "cc");

   return t;
  }

  static __inline__ int atomic_dec_return(atomic_t *v)
  {
!  int t;

!  __asm__ __volatile__("\n\
! 1: lwarx %0,0,%2\n\
!  addic %0,%0,-1\n\
!  stwcx. %0,0,%2\n\
!  bne 1b"
!  : "=&r" (t), "=m" (v->counter)
!  : "r" (v), "m" (v->counter)
!  : "cc");

   return t;
  }
--- 32,91 ----

  static __inline__ int atomic_add_return(int a, atomic_t *v)
  {
!  int flags, t;
!
!  __save_flags(flags);__cli();

!  t = (v)->counter;
!  t = t + a;
!  (v)->counter = t;

+  __restore_flags(flags);
+
   return t;
  }

  static __inline__ int atomic_sub_return(int a, atomic_t *v)
  {
!  int flags, t;
!
!  __save_flags(flags);__cli();

!  t = (v)->counter;
!  t = t - a;
!  (v)->counter = t;

+  __restore_flags(flags);
+
   return t;
  }

  static __inline__ int atomic_inc_return(atomic_t *v)
  {
!  int flags, t;
!
!  __save_flags(flags);__cli();
!
!  t = (v)->counter;
!  t = t + 1;
!  (v)->counter = t;

!  __restore_flags(flags);

   return t;
  }

  static __inline__ int atomic_dec_return(atomic_t *v)
  {
!  int flags, t;
!
!  __save_flags(flags);__cli();
!
!  t = (v)->counter;
!  t = t - 1;
!  (v)->counter = t;

!  __restore_flags(flags);

   return t;
  }
diff -c -r1.1.1.2 hw_irq.h
*** hw_irq.h 2001/02/21 00:53:16 1.1.1.2
--- hw_irq.h 2001/05/07 18:35:27
***************
*** 7,12 ****
--- 7,13 ----
  #ifndef _PPC_HW_IRQ_H
  #define _PPC_HW_IRQ_H

+ #ifndef _ASM_PPC_ATOMIC_H_
  struct int_control_struct
  {
   void (*int_cli)(void);
***************
*** 15,20 ****
--- 16,23 ----
   void (*int_save_flags)(unsigned long *);
   void (*int_set_lost)(unsigned long);
  };
+ #endif
+
  extern struct int_control_struct int_control;
  extern unsigned long timer_interrupt_intercept;
  extern unsigned long do_IRQ_intercept;


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 57+ messages in thread
* RE: dcache BUG()
@ 2001-05-07 22:19 Brian Kuschak
  2001-05-07 22:35 ` Cort Dougan
  2001-05-07 22:43 ` Eli Chen
  0 siblings, 2 replies; 57+ messages in thread
From: Brian Kuschak @ 2001-05-07 22:19 UTC (permalink / raw)
  To: 'Dan Malek', Eli Chen; +Cc: linuxppc-embedded


Dan,

Just to be clear, we do have several active subscriptions with MontaVista,
and have contacted them numerous times in the past month about this issue.
Unfortunately they were unable to provide a solution.  This kernel was the
latest that MontaVista had for the 4xx as of 3/7/2001.  This was the 2.4.2
kernel.  I applied the 2.4.3 patch to bring it up to date with the latest
bugfixes.  The version as report in /proc/version:  Linux version
2.4.3-mvista_010303.

I looked at the atomic.h code and think I found one bug, however it doesn't
solve my problem.  See if this patch makes sense to you.  Looks like a typo
when the atomic_* functions were converted from assembler to inline.  The
bne should be 'bne-' for the atomic decrement operation.

Regards,
Brian

*** atomic.h    2001/02/26 19:07:19     1.1.1.2
--- atomic.h    2001/05/07 21:13:54
***************
*** 86,94 ****

        __asm__ __volatile__("\n\
  1:    lwarx   %0,0,%2\n\
        addic   %0,%0,-1\n\
        stwcx.  %0,0,%2\n\
!       bne     1b"
        : "=&r" (t), "=m" (v->counter)
        : "r" (v), "m" (v->counter)
        : "cc");
--- 88,96 ----

        __asm__ __volatile__("\n\
  1:    lwarx   %0,0,%2\n\
        addic   %0,%0,-1\n\
        stwcx.  %0,0,%2\n\
!       bne-    1b"
        : "=&r" (t), "=m" (v->counter)
        : "r" (v), "m" (v->counter)
        : "cc");



-----Original Message-----
From: Dan Malek [mailto:dan@mvista.com]
Sent: Monday, May 07, 2001 2:05 PM
To: Eli Chen
Cc: Brian Kuschak; linuxppc-embedded@lists.linuxppc.org
Subject: Re: dcache BUG()


Eli Chen wrote:

> I have also seen the dcache BUG, as well as bugs and warnings from other
> parts of the kernel in the MontaVista 2.4.0 kernel.

Again, I don't know what a "MontaVista 2.4.0" kernel would be.
MontaVista clearly names our software distributions and releases
them on a CD after a QA process.  If you can duplicate this
problem with the software that is on the CD, and then use the
proper reference name, we could all use the same baseline.  Of
course, it would be nicer if you would have purchased the subscription
with the CD and called your dedicated technical representative,
but we'll provide the best free help available now :-).



	-- Dan

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 57+ messages in thread
* RE: dcache BUG()
@ 2001-05-07 23:01 Brian Kuschak
  0 siblings, 0 replies; 57+ messages in thread
From: Brian Kuschak @ 2001-05-07 23:01 UTC (permalink / raw)
  To: 'Dan Malek'; +Cc: linuxppc-embedded


If I use the 'old' atomic functions from arch/ppc/kernel/misc.S instead of
the inline functions in atomic.h, the problem doesn't seem to happen.
Normally it happens in about 15 minutes, but I've been running over an hour
now and haven't seen it.

Perhaps there is something else wrong with the __asm__ macros in atomic.h ??

-Brian


-----Original Message-----
From: Eli Chen [mailto:eli@routefree.com]
Sent: Monday, May 07, 2001 3:43 PM
To: Brian Kuschak; 'Dan Malek'
Cc: linuxppc-embedded@lists.linuxppc.org
Subject: Re: dcache BUG()


> I looked at the atomic.h code and think I found one bug, however it
doesn't
> solve my problem.  See if this patch makes sense to you.  Looks like a
typo
> when the atomic_* functions were converted from assembler to inline.  The
> bne should be 'bne-' for the atomic decrement operation.

The "-" after bne is just a hint for the branch prediction mechanism I
believe (the 5th bit in the BO operand).  I couldn't figure out why every
other atomic_* function besides atomic decrement has "bne-", but that
shouldn't affect the behavior.  I have also tried changing it to "bne-", but
it has no effect.

Eli

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 57+ messages in thread
* RE: dcache BUG()
@ 2001-05-08  0:40 Brian Kuschak
  0 siblings, 0 replies; 57+ messages in thread
From: Brian Kuschak @ 2001-05-08  0:40 UTC (permalink / raw)
  To: 'Eli Chen', Dan Malek; +Cc: Gabriel Paubert, linuxppc-embedded


The PPC 405GP manual (Aug 2000) from IBM's website states this in Table A1 -
Instruction Syntax Summary:

stwcx.	RS, RA, RB
Store word (RS) in memory at EA=(RA|0) + (RB) only if reservation bit is
set.
if RESERVE = 1 then
	MS(EA,4) <- (RS)
	RESERVE <- 0
	(CR[CR0]) <- 0 || 1 || XERso
else
	(CR[CR0]) <- 0 || 1 || XERso

Looks like the reservation address is not used for the 405.
-Brian


-----Original Message-----
From: Eli Chen [mailto:eli@routefree.com]
Sent: Monday, May 07, 2001 5:16 PM
To: Dan Malek
Cc: Gabriel Paubert; Brian Kuschak; linuxppc-embedded@lists.linuxppc.org
Subject: Re: dcache BUG()


> F**K...that's what I was looking for.  What manual is that in?
> Everything I have handy (older UISA books), state the granularity
> is implementation dependent.  I couldn't find any 4xx manual that
> stated the granularity of the reservation.  I thought 6xx/7xx at
> least checked cache line granularity in addition to a single
> reservation bit.

The book is titled "PowerPC Microprocessor Family: The Programming
Environments".  It's greenish-blue, dated 3/21/2000.  The quote is from the
stwcx. instruction description.  In section 5-4 however, it has this note:

"When a reservation is made to a word in memory by the lwarx instruction, an
address is saved and a reservation is set.  Both of these are necessary for
the memory coherence mechanism, however, some processors do not implement
the address compare for the stwcx. instruction.  Only the reservation need
be established in order of the stwcx. to be successful.  This requires that
exception handlers clear reservations if control is passed to another
program.  Programmers should read the specifications for each individual
processor."

I searched through the 405GP user manual, and it makes no mention of if it
checks the reservation address or not, just like you said.

Eli

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 57+ messages in thread
* RE: dcache BUG()
@ 2001-05-08  1:53 Brian Kuschak
  2001-05-08  2:03 ` Dan Malek
  2001-05-08 11:59 ` Gabriel Paubert
  0 siblings, 2 replies; 57+ messages in thread
From: Brian Kuschak @ 2001-05-08  1:53 UTC (permalink / raw)
  To: 'Dan Malek', Gabriel Paubert; +Cc: Eli Chen, linuxppc-embedded


I've been running with Gabriel's suggested patch for about an hour now, and
I still see the problem.  It hasn't generated an Oops in dcache.h yet, but I
do still see the 'de_put: entry net already free!' messages.

I'll let it run overnight to see if the oops occurs.

Brian

-----Original Message-----
From: Dan Malek [mailto:dan@mvista.com]
Sent: Monday, May 07, 2001 6:44 PM
To: Gabriel Paubert
Cc: Eli Chen; Brian Kuschak; linuxppc-embedded@lists.linuxppc.org
Subject: Re: dcache BUG()


Gabriel Paubert wrote:

> I'm myself more and more convinced myself that this is really a bug,

I'm convinced, too, so thanks for the suggestion.  I think it is
much more likely to show up on the 4xx because of my (assumed)
implementation than on other processors that attempt to make some
use of the EA in the instructions.

> .... It does not fix Eli's problems, so
> either my patch is wrong or something else is going on.

We have many people testing on a variety of systems, so we will
know more shortly.

Thanks again.


	-- Dan

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 57+ messages in thread
* RE: dcache BUG()
@ 2001-05-08  3:36 Brian Kuschak
  0 siblings, 0 replies; 57+ messages in thread
From: Brian Kuschak @ 2001-05-08  3:36 UTC (permalink / raw)
  To: 'Dan Malek '
  Cc: 'Gabriel Paubert ', 'Eli Chen ',
	'linuxppc-embedded@lists.linuxppc.org '


Perhaps it is a filesystem bug, however it's printed when an atomic_read()
of a reference count is unexpectedly zero.  That, plus the fact that I
didn't see it after applying Eli's original patch makes me think we might
still have a problem with atomic operations.

Brian

-----Original Message-----
From: Dan Malek
To: Brian Kuschak
Cc: Gabriel Paubert; Eli Chen; linuxppc-embedded@lists.linuxppc.org
Sent: 5/7/01 7:03 PM
Subject: Re: dcache BUG()

Brian Kuschak wrote:

> ..... but I
> do still see the 'de_put: entry net already free!' messages.

Yuk....I thought that was a network driver problem, but it is really
in the /proc fs stuff.

OK....we'll keep looking.  I still think there are some generic
file system bugs that have been fixed in later kernels....


	-- Dan

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 57+ messages in thread
* RE: dcache BUG()
@ 2001-05-08 15:43 Brian Kuschak
  0 siblings, 0 replies; 57+ messages in thread
From: Brian Kuschak @ 2001-05-08 15:43 UTC (permalink / raw)
  To: 'Dan Malek', Gabriel Paubert; +Cc: Eli Chen, linuxppc-embedded


Well, it ran for about 4 1/2 hours, much longer than before Gabriel's patch,
but eventually failed the same way.

Brian

sh-2.03# while /bin/true ; do cat /proc/net/* 2>/dev/null > /tmp/junk; done
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
de_put: entry net already free!
dentry.d_count = 0
dentry.d_reftime = 134236224 (current = 1634369)
dentry.d_inode = c12badc0
dentry.d_name = net
kernel BUG at /home/brian/linux/include/linux/dcache.h:251!


-----Original Message-----
From: Dan Malek [mailto:dan@mvista.com]
Sent: Monday, May 07, 2001 6:44 PM
To: Gabriel Paubert
Cc: Eli Chen; Brian Kuschak; linuxppc-embedded@lists.linuxppc.org
Subject: Re: dcache BUG()


Gabriel Paubert wrote:

> I'm myself more and more convinced myself that this is really a bug,

I'm convinced, too, so thanks for the suggestion.  I think it is
much more likely to show up on the 4xx because of my (assumed)
implementation than on other processors that attempt to make some
use of the EA in the instructions.

> .... It does not fix Eli's problems, so
> either my patch is wrong or something else is going on.

We have many people testing on a variety of systems, so we will
know more shortly.

Thanks again.


	-- Dan

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 57+ messages in thread
* RE: dcache BUG()
@ 2001-05-08 17:43 Brian Kuschak
  2001-05-09 11:06 ` Gabriel Paubert
  0 siblings, 1 reply; 57+ messages in thread
From: Brian Kuschak @ 2001-05-08 17:43 UTC (permalink / raw)
  To: 'Gabriel Paubert'
  Cc: 'Dan Malek', Eli Chen, linuxppc-embedded


> I think that we agree that my patch fixes a real bug, but that, sadly, it
> is _not_ the bug you are seeing. Given the "prevent interrups in atomic
> operation" patch that apparently fixes the bug, I looked for possibilities
> of stale reservations. Now your bug is even more puzzling...

Yes, I agree.  Like I said it definitely runs longer now than it did before,
but unfortunately shows the same symptom.  Here is a little more information
that I gleaned last night which may or may not be useful.

I noticed that arch/ppc/kernel/misc.S still had the (old?) assembly
functions for doing atomic operations.  They are similar but slighly
different to the inline functions in atomic.h.  I ran yesterday for about 4
hours with these "alternative" atomic functions, and I did not see the
failure.  I'm not sure if this was just a coincidence (the timing changed
slightly), or whether it indicates a problem with the inline atomic
functions.

> Can we get an oops trace if you hit it ? For now I'm puzzled.

Sure, I'll post it next time I get it.  (I already cleared the one I got
last night).

Regards,
Brian

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 57+ messages in thread
* RE: dcache BUG()
@ 2001-05-09 16:40 Brian Kuschak
  2001-05-09 18:31 ` Dan Malek
  2001-05-09 19:18 ` Gabriel Paubert
  0 siblings, 2 replies; 57+ messages in thread
From: Brian Kuschak @ 2001-05-09 16:40 UTC (permalink / raw)
  To: 'Gabriel Paubert'
  Cc: 'Dan Malek', Eli Chen, linuxppc-embedded


> Interesting, which compiler are you using? I've been experimenting with my
> own modifications to gcc, in case I hit a problem I often do objdump
> --disassemble vmlinux | less and search the instruction in which I'm
> interested. In your case it would be lwarx, but there are probably too
> many occurrences to make the hunt worthwhile.

I'm using gcc version 2.95.2 19991030 (2.95.3 prerelease/franzo), from
MontaVista.
Your right, one of the first things I did was look at the generated assembly
code, that's how I noticed the one-bit difference between bne and bne-.
Here's a little snippet from one of the atomic ops.  It looks ok to me,
except for the fact that lwarx r11,0,r31 shows up as lwarx r11,r0,r31.
Objdump seems to do this everywhere, I'm not sure why.

static __inline__ void atomic_set(atomic_t *v, int a)
{
c004f9e8:       38 00 00 01     li      r0,1
        int t;

        __asm__ __volatile__("\n\
c004f9ec:       7d 60 f8 28     lwarx   r11,r0,r31
c004f9f0:       60 0b 00 00     ori     r11,r0,0
c004f9f4:       7d 60 f9 2d     stwcx.  r11,r0,r31
c004f9f8:       40 a2 ff f4     bne-    c004f9ec <d_alloc+0x90>

        atomic_set(&dentry->d_count, 1);


Regards,
Brian

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 57+ messages in thread
* RE: dcache BUG()
@ 2001-05-10 21:20 Brian Kuschak
  2001-05-10 21:26 ` Dan Malek
  0 siblings, 1 reply; 57+ messages in thread
From: Brian Kuschak @ 2001-05-10 21:20 UTC (permalink / raw)
  To: 'Dan Malek', Gabriel Paubert; +Cc: frowand, Eli Chen, linuxppc-embedded


> What can happen is a lwarx to an address, in some other context a
> simple store to that address (no reservation broken) then a subsequent
> stwcx. to the address will appear successful.  Hmmmm.....several
> ways to fix it, I wonder what will work best.....

Yes, this sounds bad.  However, I wonder if it's really the cause of this
particular bug.  I cannot find any code which does a regular store to the
d_count variables.  All writes to these counters appear to use the atomic
ops.

Brian

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 57+ messages in thread
* RE: dcache BUG()
@ 2001-05-12  0:44 Brian Kuschak
  2001-05-12  0:57 ` Eli Chen
  0 siblings, 1 reply; 57+ messages in thread
From: Brian Kuschak @ 2001-05-12  0:44 UTC (permalink / raw)
  To: 'Gabriel Paubert'
  Cc: 'Dan Malek', Eli Chen, linuxppc-embedded


Hi Gabriel,

I tried your patch, but as you expected it didn't fix the problem.  I ran it
twice, once with my kernel as I got it from MontaVista, and once with the
atomic_set() function using regular stw (as it is in the offical sources, I
believe).

In both cases I got the de_put messages in a few minutes, and once I got the
dentry BUG().

I think Eli might have had better luck, but I'm not sure how long he was
running the test.

Regards,
Brian



> Patch follows, it includes my previous patch. I don't think that it will
> solve your problem, unless you happen to use a preemptible kernel.
> While I was at it,  I removed the useless stwcx. in transfer_to_handler.


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 57+ messages in thread

end of thread, other threads:[~2001-05-14  9:28 UTC | newest]

Thread overview: 57+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-05-07 17:21 dcache BUG() Brian Kuschak
2001-05-07 20:58 ` Dan Malek
  -- strict thread matches above, loose matches on Subject: below --
2001-05-07 19:04 Eli Chen
2001-05-07 21:04 ` Dan Malek
2001-05-07 21:17 ` Dan Malek
2001-05-07 21:30   ` Tom Rini
2001-05-07 23:03     ` Dan Malek
2001-05-07 21:47   ` Eli Chen
2001-05-07 23:01     ` Dan Malek
2001-05-07 23:06     ` Gabriel Paubert
2001-05-07 23:15       ` Dan Malek
2001-05-07 23:28         ` Gabriel Paubert
2001-05-07 23:35         ` Eli Chen
2001-05-07 23:36           ` Dan Malek
2001-05-08  0:16             ` Eli Chen
2001-05-08  0:41               ` Dan Malek
2001-05-08  1:14                 ` Eli Chen
2001-05-08  1:11                   ` Dan Malek
2001-05-08 18:01                     ` David Blythe
2001-05-08 20:27                       ` Dan Malek
2001-05-08 21:34                         ` David Blythe
2001-05-08 21:49                           ` Dan Malek
2001-05-08 22:34                             ` Ira Weiny
2001-05-08 22:53                               ` Dan Malek
2001-05-08  1:37             ` Gabriel Paubert
2001-05-08  1:44               ` Dan Malek
2001-05-07 23:40           ` Gabriel Paubert
2001-05-07 22:19 Brian Kuschak
2001-05-07 22:35 ` Cort Dougan
2001-05-07 22:43 ` Eli Chen
2001-05-07 23:01 Brian Kuschak
2001-05-08  0:40 Brian Kuschak
2001-05-08  1:53 Brian Kuschak
2001-05-08  2:03 ` Dan Malek
2001-05-08 11:59 ` Gabriel Paubert
2001-05-08  3:36 Brian Kuschak
2001-05-08 15:43 Brian Kuschak
2001-05-08 17:43 Brian Kuschak
2001-05-09 11:06 ` Gabriel Paubert
2001-05-09 16:40 Brian Kuschak
2001-05-09 18:31 ` Dan Malek
2001-05-09 19:18 ` Gabriel Paubert
2001-05-10 18:39   ` Frank Rowand
2001-05-10 18:49     ` Gabriel Paubert
2001-05-10 19:10       ` Frank Rowand
2001-05-11  4:23         ` Paul Mielke
2001-05-11 10:09         ` Gabriel Paubert
2001-05-10 20:56       ` Dan Malek
2001-05-10 23:14         ` Cort Dougan
2001-05-11 11:01           ` Gabriel Paubert
2001-05-11 10:57         ` Gabriel Paubert
2001-05-11 18:49           ` Dan Malek
2001-05-10 21:20 Brian Kuschak
2001-05-10 21:26 ` Dan Malek
2001-05-12  0:44 Brian Kuschak
2001-05-12  0:57 ` Eli Chen
2001-05-14  9:28   ` Gabriel Paubert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).