RE: [Lhms-devel] [PATCH 0/7] Fragmentation Avoidance V19

Adam Litke
2005-11-07T21:33:53Z

On Mon, 2005-11-07 at 13:20 -0800, Rohit Seth wrote:
> On Mon, 2005-11-07 at 12:58 -0800, Martin J. Bligh wrote:
> > >> Isn't it true that most of the times we'll need to be worrying about
> > >> run-time allocation of memory (using malloc or such) as compared to
> > >> static.
> > >
> > > Perhaps for C. Not neccessarily true for Fortran. I don't know
> > > anything about how memory allocations proceed there, but there
> > > are no `malloc' calls (at least with that spelling) in the language
> > > itself, and I don't know what it does for either static or dynamic
> > > allocations under the hood. It could be malloc like or whatever
> > > else. In the language itself, there are language features for
> > > allocating and deallocating memory and I've seen code that
> > > uses them, but haven't played with it myself, since my codes
> > > need pretty much all the various pieces memory all the time,
> > > and so are simply statically defined.
> >
> > Doesn't fortran shove everything in BSS to make some truly monsterous
> > segment?
> >
>
> hmmm....that would be strange. So, if an app is using TB of data, then
> a TB space on disk ...then read in at the load time (or may be some
> optimization in the RTLD knows that this is BSS and does not need to get
> loaded but then a TB of disk space is a waster).

Nope, the bss is defined as the difference in file size (on disk) and
the memory size (as specified in the ELF program header for the data
segment). So the kernel loads the pre-initialized data from disk and
extends the mapping to include room for the bss.

--
Adam Litke - (agl at us.ibm.com)
IBM Linux Technology Center