Changeset 635 for trunk/kernel/mm/vseg.c


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/vseg.c

    r625 r635  
    22 * vseg.c - virtual segment (vseg) related operations
    33 *
    4  * Authors   Ghassan Almaless (2008,2009,2010,2011, 2012)
    5  *           Mohamed Lamine Karaoui (2015)
    6  *           Alain Greiner (2016,2017,2018,2019)
     4 * Authors   Alain Greiner (2016,2017,2018,2019)
    75 *
    86 * Copyright (c) UPMC Sorbonne Universites
     
    6664    kmem_req_t   req;
    6765
    68     req.type  = KMEM_VSEG;
    69         req.size  = sizeof(vseg_t);
    70         req.flags = AF_KERNEL;
    71 
    72     return (vseg_t *)kmem_alloc( &req );
     66    req.type  = KMEM_KCM;
     67        req.order = bits_log2( sizeof(vseg_t) );
     68        req.flags = AF_KERNEL | AF_ZERO;
     69
     70    return kmem_alloc( &req );
    7371}
    7472
     
    7876    kmem_req_t  req;
    7977
    80         req.type = KMEM_VSEG;
     78        req.type = KMEM_KCM;
    8179        req.ptr  = vseg;
    8280        kmem_free( &req );
Note: See TracChangeset for help on using the changeset viewer.