All of lore.kernel.org
 help / color / mirror / Atom feed
* Kernel is unstable
@ 2001-03-01  9:16 Ivan Stepnikov
  2001-03-01 10:27 ` Matti Aarnio
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Ivan Stepnikov @ 2001-03-01  9:16 UTC (permalink / raw)
  To: linux-kernel

            Hello!

I tried to test linux memory allocation. For experiment I used i386
architecture with Pentium III processor, 512M RAM and 8G swap space. For
memory allocation libhoard was tried. Linux kernel 2.4.2 with patch
per-process-3.5G-IA32-no-PAE-1, at
/pub/linux/kernel/people/andrea/patches/v2.4/2.4.0-test11-pre5/ on
ftp.kernel.org (This patch should force memory allocation for one process up
to 3.5G approximately).

When I try large blocks (about 256K - 1M) everything was ok. More then 3G
memory was successfully allocated.

On small blocks result was significantly worse. About 2.3 - 2.4G was
allocated and system hanged. But it was possible to switch between  local
consoles, and to receive ping replay by network. Actually it's only one sign
of life (hard disk didn't work and it was impossible to reboot the machine
by correct methods). At /var/log/messages was

Feb 28 17:08:55 zetta kernel: <ed.
Feb 28 17:08:55 zetta kernel: __alloc_pages: 0-order allocation failed.
Feb 28 17:09:05 zetta last message repeated 363 times



Test program looks like this:



block = 1024;

for (i=1; ; ++i ){

                if(p==malloc(block)){

                        perror("failed");

                        fprintf(stderr,"Error! Size total:%uM pass:
%u\n",size/1024/1024,i);

                        return 0;

                }

                size += block;

                printf("Size total:%uM pass: %u\n",size/1024/1024,i);

}



I think, this test shouldn't hang system. System may work slowly, very
slowly but it shouldn't hang. If system cannot allocate any pages it should
return correct value.

And the main thing: it seems the system doesn't use all available swap
space.

I'm sure if system works properly results must be other.

--
Regards,
Ivan Stepnikov.



^ permalink raw reply	[flat|nested] 18+ messages in thread
* RE: Kernel is unstable
@ 2001-03-01 13:55 Heusden, Folkert van
  0 siblings, 0 replies; 18+ messages in thread
From: Heusden, Folkert van @ 2001-03-01 13:55 UTC (permalink / raw)
  To: root, Ivan Stepnikov; +Cc: linux-kernel

> memory area has to be accessed. In some memory management systems,
> the allocated area has to be actually written (demand zero paging).
> If you execute from a user account, not root, with ulimits enabled,
> you should be able to do:
>         char *p;
> 	for(;;)
>      {
>             if((p = (char *) malloc(WHATEVER)) == NULL)
>             {
>                  puts("Out of memory");
>                  exit(1);
>             }
>             *p = (char) 0x01;    /* Write to memory */
>         }
>       ... without hanging the system.

Allow me to nitpick :o)
int loop;
for(loop=0;loop<WHATEVER; loop+=PAGESIZE)
	p[loop] = 0x01;

Because: as far as I remember only the pages that are touched are
allocated, not the whole memory-block.

But, indead, that's nitpicking. Sorry for that :o)

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

end of thread, other threads:[~2001-03-05 23:07 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-03-01  9:16 Kernel is unstable Ivan Stepnikov
2001-03-01 10:27 ` Matti Aarnio
2001-03-01 14:35   ` Andrea Arcangeli
2001-03-01 14:39     ` Andrea Arcangeli
2001-03-01 18:20       ` Alan Cox
2001-03-01 18:30         ` Andrea Arcangeli
2001-03-01 19:04           ` David S. Miller
2001-03-01 20:45             ` Andrea Arcangeli
2001-03-01 19:12           ` Linus Torvalds
2001-03-02  8:23             ` Christoph Rohland
2001-03-02  8:40             ` David Howells
2001-03-02 14:01               ` Andrea Arcangeli
2001-03-02 17:52               ` Linus Torvalds
2001-03-05 23:06                 ` Chris Wedgwood
2001-03-01 13:39 ` Richard B. Johnson
2001-03-01 14:24 ` Andrea Arcangeli
2001-03-01 17:12   ` Ingo Oeser
  -- strict thread matches above, loose matches on Subject: below --
2001-03-01 13:55 Heusden, Folkert van

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.