Re: shouldn't gcc use swap space as temp storage??

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Vladimir,

many thanks for pointing out that C99 is not my native tongue.

I plan to submit another segment of code -- this time in guaranteed non-buggy gfortran -- which shows similar behaviour to the buggy gcc code.  In fact the code was originally conceived and written in gfortran, and I attempted (with evident failure as you so graciously point out) to translate it into gcc (seen below) for this linux-mm audience.

I hope to gain productive feedback on the causes of the observed behaviour , and its solution, at this listserv because 1) the gfortran code is not buggy and 2) I believe the linux-memory management listserv is the correct forum.

I gather that many on this newsgroup may not have installed gfortran by default, but quite possibly someone will be curious to see if s/he can replicate the observed behaviour, and either suggest a workaround or flag it as a feature.

Cheers,
Max









De : Vladimir Murzin <murzin.v@xxxxxxxxx>
À : Max B <txtmb@xxxxxxxx>
Cc : "linux-mm@xxxxxxxxx" <linux-mm@xxxxxxxxx>
Envoyé le : Jeudi 19 septembre 2013 6h14
Objet : Re: shouldn't gcc use swap space as temp storage??

On Thu, Sep 19, 2013 at 01:25:01AM +0100, Max B wrote:
>
>
>
>
>
>
> Hi All,
>
> See below for executable program.
>
>
> Shouldn't gcc use swap space as temp storage?  Either my machine is set up improperly, or gcc does not (cannot?) access this capability.
>
>
> It seems to me that programs should be able to access swap memory in these cases, but the behaviour has not been confirmed.
>
> Can someone please confirm or correct me?
>

It is not because your machine settings or gcc. Your code is buggy.

>
> Apologies if this is not the correct listserv for the present discussion.
>

I think the proper list for C related questions is linux-c-programming or similar.

Vladimir

>
> Thanks for any/all help.
>
>
> Cheers,
> Max
>
>
> /*
>  * This program segfaults with the *bar array declaration.
>  *
>  * I wonder why it does not write the *foo array to swap space
>  * then use the freed ram to allocate *bar.
>  *
>  * I have explored the shell ulimit parameters to no avail.
>  *
>  * I have run this as root and in userland with the same outcome.
>  *
>  * It seems to be a problem internal to gcc, but may also be a kernel issue.
>  *
>  */
>
> #include <stdio.h>
> #include <stdlib.h>
>
> #define NMAX 628757505
>
> int main(int argc,char **argv) {
>   float *foo,*bar;
>
>   foo=calloc(NMAX,sizeof(float));
>   fprintf(stderr,"%9.3f %9.3f\n",foo[0],foo[1]);
> #if 1
>   bar=calloc(NMAX,sizeof(float));
>   fprintf(stderr,"%9.3f %9.3f\n",bar[0],bar[1]);
> #endif
>
>   return
>  0;
> }



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]