#include <PsnMomePagedWeakMemoryManager.h>
Inheritance diagram for PsnMomePagedWeakMemoryManager:


Public Methods | |
| PsnMomePagedWeakMemoryManager (void *startDsm, size_t sizeDsm, size_t pageSize, PsnUniqueCreator *creator) | |
| A n'appeler qu'en exclusion mutuelle sur la zone mémoire gérée par PsnMemoryElementDescriptor::myMemoryManager. | |
| virtual | ~PsnMomePagedWeakMemoryManager () |
| destructeur | |
| virtual void * | mmalloc (size_t size) |
| allocation d'une zone de mémoire dans la zone de mémoire à cohérance relachée. | |
| virtual int | mfree (void *addr, size_t size) |
| free the memory at addr. | |
| virtual PsnMemoryElementDescriptor * | getFreeMem () |
| redefine getFreeMem so as to get the address of the list of the free elements of this memory manager | |
| virtual void | setFreeMem (PsnMemoryElementDescriptor *ptr) |
| redefine setFreeMem to change the fisrt element of the list of free elements for this memory manager | |
| virtual void | sync () |
| Synchronize the memory managed by the memory manager, in a relaxed fashion : any memory page marked as relaxed is synchronized only to an older version (the one available at the last barrier). | |
| virtual void | strongSync () |
| Strong synchronisation of all memory pages where memory has been allocated. | |
| virtual void * | get_from_free (size_t size) |
| la zone de mémoire dans lesquels sont stockés les PsnMemoryElementDescriptor doit être vérouillée avant l'appel à cette fonction. | |
| virtual void | add_in_free (void *addr, size_t size) |
| la zone de mémoire dans lesquels sont stockés les PsnMemoryElementDescriptor doit être vérouillée avant l'appel à cette fonction | |
| virtual void | showMemory (void) |
| pour cause de Debug, montrer l'état de la mémoire | |
Protected Types | |
| enum | coheranceType { None, AlwaysSynchronized, StepSynchronized } |
| le type enuméré gérant la cohérance de la page More... | |
Protected Methods | |
| virtual void | divideBlockFor (size_t size) |
| divide a free block between a part starting on a free page and the rest | |
Protected Attributes | |
| coheranceType * | tabCoherance |
| La table, a allouer dans la mémoire partagée, de la cohérance à avoir pour chaque page. | |
| const PsName ** | tabOwner |
| le tableau des propriétaires de pages (on ne connait sa taille qu'à la création), de façon à n'avoir qu'un écrivain par page | |
| size_t | numberOfPages |
| le nombre de pages gérée | |
| const int | _nbMinor |
| number of pages on wich to cycle cohérance | |
Friends | |
| class | PsnUniqueCreator |
| pour que le createur {PsnUniqueCreator} connaisse le type enumeré | |
Definition at line 33 of file PsnMomePagedWeakMemoryManager.h.
|
|
le type enuméré gérant la cohérance de la page
Definition at line 69 of file PsnMomePagedWeakMemoryManager.h.
00069 { None , AlwaysSynchronized , StepSynchronized } ;
|
|
||||||||||||||||||||
|
A n'appeler qu'en exclusion mutuelle sur la zone mémoire gérée par PsnMemoryElementDescriptor::myMemoryManager.
|
|
|
destructeur
|
|
||||||||||||
|
la zone de mémoire dans lesquels sont stockés les PsnMemoryElementDescriptor doit être vérouillée avant l'appel à cette fonction
Reimplemented from PsnMomeMemoryManager. |
|
|
divide a free block between a part starting on a free page and the rest
Reimplemented from PsnMomeMemoryManager. |
|
|
la zone de mémoire dans lesquels sont stockés les PsnMemoryElementDescriptor doit être vérouillée avant l'appel à cette fonction.
Reimplemented from PsnMomeMemoryManager. |
|
|
redefine getFreeMem so as to get the address of the list of the free elements of this memory manager
Reimplemented from PsnMomeMemoryManager. |
|
||||||||||||
|
free the memory at addr. Does all the bookkeeping so as to free any page which becomes totally free.
Reimplemented from PsnMomeMemoryManager. |
|
|
allocation d'une zone de mémoire dans la zone de mémoire à cohérance relachée. En plus de l'appel à mmalloc de l'ancêtre, this method marks the pages allocated in the different page tables. In particular, any pages allocated for the first time by this method, is marked so as at the next sync on any process, the last version of the page is asked for. Reimplemented from PsnMomeMemoryManager. |
|
|
redefine setFreeMem to change the fisrt element of the list of free elements for this memory manager
Reimplemented from PsnMomeMemoryManager. |
|
|
pour cause de Debug, montrer l'état de la mémoire
Reimplemented from PsnMomeMemoryManager. |
|
|
Strong synchronisation of all memory pages where memory has been allocated. This calls a synchronization barrier, ans then asks for the last version of the pages available at the time of the barrier. |
|
|
Synchronize the memory managed by the memory manager, in a relaxed fashion : any memory page marked as relaxed is synchronized only to an older version (the one available at the last barrier). A synchronisation barrier is then made between all processes and all the memory pages mark as strong are synchronized to the version available at the time of the synchronization barrier, and prefetched. |
|
|
pour que le createur {PsnUniqueCreator} connaisse le type enumeré
Definition at line 67 of file PsnMomePagedWeakMemoryManager.h. |
|
|
number of pages on wich to cycle cohérance
Definition at line 79 of file PsnMomePagedWeakMemoryManager.h. |
|
|
le nombre de pages gérée
Definition at line 77 of file PsnMomePagedWeakMemoryManager.h. |
|
|
La table, a allouer dans la mémoire partagée, de la cohérance à avoir pour chaque page.
Definition at line 71 of file PsnMomePagedWeakMemoryManager.h. |
|
|
le tableau des propriétaires de pages (on ne connait sa taille qu'à la création), de façon à n'avoir qu'un écrivain par page
Definition at line 75 of file PsnMomePagedWeakMemoryManager.h. |
| Documentation generated on Mon Nov 25 15:26:10 2002 |
Generated with doxygen 1.2.12 by Dimitri van Heesch , 1997-2001 |