Changeset 635 for trunk/kernel/mm/page.h


Ignore:
Timestamp:
Jun 26, 2019, 11:42:37 AM (5 years ago)
Author:
alain
Message:

This version is a major evolution: The physical memory allocators,
defined in the kmem.c, ppm.c, and kcm.c files have been modified
to support remote accesses. The RPCs that were previously user
to allocate physical memory in a remote cluster have been removed.
This has been done to cure a dead-lock in case of concurrent page-faults.

This version 2.2 has been tested on a (4 clusters / 2 cores per cluster)
TSAR architecture, for both the "sort" and the "fft" applications.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/mm/page.h

    r632 r635  
    4848 * This structure defines a physical page descriptor.
    4949 * - The remote_busylock is used to allows any remote thread to atomically
    50  *   test/modify the forks counter or the page flags.
     50 *   test/modify the forks counter or the flags.
    5151 * - The list entry is used to register the page in a free list or in dirty list.
    5252 *   The refcount is used for page release to KMEM.
     
    133133
    134134
     135
     136/*************************************************************************************
     137 * This function must be called by a thread running in the local cluster.
     138 * It initializes the page descriptor.
     139 *************************************************************************************
     140 * @ page_xp    : extended pointer to page descriptor.
     141 ************************************************************************************/
     142inline void page_remote_init( xptr_t  page_xp );
     143
    135144/*************************************************************************************
    136145 * This function can be called by any thread running in any cluster.
Note: See TracChangeset for help on using the changeset viewer.