Subject: RE: NetWinder hung

From: Winnie Wong <[email-masked]>
Date: Mon, 12 Apr 1999 14:52:35 -0700

Hi:

This is a small and quick test program with intention to test the page
swapping or page 
boundary handling or the StrongArm processor paging problem.

First, it allocates a large piece of memory (64 MB is used in the test
program) at the 
beginning of the program and find the memory location of the first memory
page starting 
point.  This is what the line 27 modulo 4096 and line 28 are doing.  

Then, it is in a loop to write first 32 bit data (32bit int) to the
beginning of the page and 
write another 32 bit data starting at the two bytes before the page ends.
The second 
32 bit data is written with intention to cause the page overflow for the
page boundary 
handling testing.  Repeats this process on every page until the allocated
memory 
reaches to the end.

When I ran three processes of this test simultaneously, half of the chance
the test 
processes (one, two or three) are hung and the OS is OK.  And the rest of
time, the 
OS is fully locked.  Can not do anything to the system until the unit is
cold re-booted.  
All the hang situations occur when all the tests reach to almost the end of
their 
allocated memories.  (So, I am sure it is not the large memory allocation
problem.)

With my understanding, an user program should not crash the system.  So I
want to 
see if there is any patches available for this problem or it is a known bug.

Regards,

Winnie

> -----Original Message-----
> From:	Ron Bianco [SMTP:[email-masked]]
> Sent:	Monday, April 12, 1999 1:39 PM
> To:	'Winnie Wong'
> Subject:	RE: NetWinder hung
> 
> Hi Winnie,
> 
> Don't have much time to analyze, but seems like some logic errors.
> A few thoughts:
> 
> Line 27 - pointer to mem block modulo 4096?   Why?
> Line 28 - confusing, not sure what you're trying to achieve.
> Line 36 - writing a 32 bit int at just 2 bytes from page boundary will
> overflow page boundary 
> 
> Cheers, Ron
> 
> Ron Bianco
> Computer Systems Technologist
> Level Control Systems
> email: [email-masked]
> phone: 250-549-2558 Ext 8 or 3
> web: http://www.lcsaudio.com
> 
> On Friday, April 09, 1999 11:20 AM, Winnie Wong  wrote:
> > Hi all;
> > 
> > I have a NetWinder with kernel V2.2.1.  I am simultaneously running
> three
> > copies of a test program which is attached at the end of this e-mail.
> When
> > the first one finishes, the second one has a Bus Error and the third one
> > hung. I checked the console, it is also hung.  Telnet to it, no
> response,
> > but ping is ok.  
> > 
> > Does anyone know what is wrong with it?  Any patches available?
> > 
> > Thanks in advance,
> > 
> > 
> > Winnie
> > 
> > Attached fiile is following:
> > 
> >  <<pagetest.c>> 
> >  << File: pagetest.c >> 
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Philip Blundell <[email-masked]>
Date: Tue, 13 Apr 1999 09:50:54 +0100

>handling testing.  Repeats this process on every page until the allocated

What kernel are you using?  It's true that a user space program shouldn't be 
able to crash the machine or damage the kernel, though it seems that we are 
still some way from that ideal at the moment.  If you have a kernel that does 
unaligned fixups for user code then my guess would be that the problem lies 
there.

p