2 Replies Latest reply on Jul 9, 2011 12:59 PM by Nil

    Memory allocation

    Nil

      Hi,

       

      Is there a way to find out how much memory is allocated as private and shared when Linux is booted on cores. Furthermore, is it possible to change this allocation for next time Linux is booted on core or not?

       

       

      Thanks.

        • 1. Re: Memory allocation
          tedk

          You can look at the LUT. An easy way to get at the LUT table is to boot linux and not use the premerged file. Copy linux.obj form its standard location to somewhere else and then run sccBoot -l linux.obj. Then, in /emp/sccKit_yourname/obj look at the file lut_init.vi.

           

          Pre 1.4.1, Linux uses only 320MB of private memory per core. But you can see slots 0x00 thru 0x40 assigned to private memory. Each LUT sdlot points to 16MB of memory. Pre 1.4.1, Linux is really only uses 0x00 thru 0x13 and that's why we can hijack.

           

          And then you can see shared memory in slots 0x80 thru 0x83 ... 64MB.

           

          You can also see the MPB in slots 0xc0 thru 0xd8. There are 24 assigned slots (25 if you count the "own" slot). The comments in the file say "MPB route for core ..." It really is for "tile", I think. And although a slot points to 16MB, only 16KB per tile is actually there.

           

          Starting with 1.4.1, you shouldn't be hijacking. You should be using POP-SHM instead.  With POP-SHM, you can get up to about 4GB of shared memory. I'm not sure how to determine how much of that comes from each core, although I think that information should be available,

          • 2. Re: Memory allocation
            Nil

            Thank you Ted for detailed explanation.