Changeset 640 for trunk/kernel/libk


Ignore:
Timestamp:
Oct 1, 2019, 1:19:00 PM (5 years ago)
Author:
alain
Message:

Remove all RPCs in page-fault handling.

Location:
trunk/kernel/libk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/libk/remote_barrier.h

    r623 r640  
    5656 *    If the (x_size, y_size, nthreads) arguments are defined in the barrier attributes,
    5757 *    the barrier is implemented as a hierarchical quad-tree covering all clusters in the
    58  *    (x_size * ysize) mesh, including cluster (0,0), with nthreads per cluster, and called
    59  *    DQT : Distributed Quad Tree. This DQT implementation supposes a regular architecture,
    60                      uint32_t arity = hal_remote_l32( XPTR( node_cxy , &node_ptr->arity       ));
     58 *    (x_size * ysize) mesh, including cluster (0,0), with nthreads per cluster.
     59 *    This DQT (Distributed Quad Tree) implementation assumes a regular architecture,
    6160 *    and a strong contraint on the threads placement: exactly "nthreads" threads per
    6261 *    cluster in the (x_size * y_size) mesh.
     
    7776 * It is implemented in the reference process cluster, and contains
    7877 * - the barrier identifier,
    79  * - the implementation type (simple or QDT),
     78 * - the implementation type (simple or dqt),
    8079 * - an xlist implementing the set of barriers dynamically created by a given process,
    8180 * - a pointer on the implementation specific descriptor (simple_barrier / sqt_barrier).
  • trunk/kernel/libk/user_dir.c

    r635 r640  
    294294
    295295            // delete the vseg
    296             if( ref_cxy == local_cxy)
    297                 vmm_delete_vseg( ref_pid, vpn_base << CONFIG_PPM_PAGE_SHIFT );
    298             else
    299                 rpc_vmm_delete_vseg_client( ref_cxy, ref_pid, vpn_base << CONFIG_PPM_PAGE_SHIFT );
    300 
     296            if( ref_cxy == local_cxy)  vmm_remove_vseg( ref_ptr, vseg );
     297            else                       rpc_vmm_remove_vseg_client( ref_cxy, ref_ptr, vseg );
     298         
    301299            // release the user_dir descriptor
    302300            req.type = KMEM_KCM;
     
    459457    rpc.rsp       = &responses;
    460458    rpc.blocking  = false;
    461     rpc.index     = RPC_VMM_DELETE_VSEG;
     459    rpc.index     = RPC_VMM_REMOVE_VSEG;
    462460    rpc.thread    = this;
    463461    rpc.lid       = this->core->lid;
Note: See TracChangeset for help on using the changeset viewer.