Ignore:
Timestamp:
Jan 29, 2018, 6:08:07 PM (6 years ago)
Author:
alain
Message:

blip

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/kern/cluster.h

    r416 r428  
    9696typedef struct cluster_s
    9797{
    98         spinlock_t        kcm_lock;        /*! local, protect creation of KCM allocators      */
     98        spinlock_t        kcm_lock;          /*! local, protect creation of KCM allocators    */
    9999
    100100    // global parameters
    101         uint32_t          paddr_width;     /*! numer of bits in physical address              */
    102     uint32_t          x_width;         /*! number of bits to code x_size  (can be 0)      */
    103     uint32_t          y_width;         /*! number of bits to code y_size  (can be 0)      */
    104         uint32_t          x_size;          /*! number of clusters in a row    (can be 1)      */
    105         uint32_t          y_size;          /*! number of clusters in a column (can be 1)      */
    106         cxy_t             io_cxy;          /*! io cluster identifier                          */
    107     uint32_t          dqdt_root_level; /*! index of root node in dqdt_tbl[]               */
     101        uint32_t          paddr_width;       /*! numer of bits in physical address            */
     102    uint32_t          x_width;           /*! number of bits to code x_size  (can be 0)    */
     103    uint32_t          y_width;           /*! number of bits to code y_size  (can be 0)    */
     104        uint32_t          x_size;            /*! number of clusters in a row    (can be 1)    */
     105        uint32_t          y_size;            /*! number of clusters in a column (can be 1)    */
     106        cxy_t             io_cxy;            /*! io cluster identifier                        */
     107    uint32_t          dqdt_root_level;   /*! index of root node in dqdt_tbl[]             */
     108    uint32_t          nb_txt_channels;   /*! number of TXT channels                       */
     109    uint32_t          nb_nic_channels;   /*! number of NIC channels                       */
     110    uint32_t          nb_ioc_channels;   /*! number of IOC channels                       */
     111    uint32_t          nb_fbf_channels;   /*! number of FBF channels                       */
    108112
    109113    // local parameters
    110         uint32_t          cores_nr;        /*! actual number of cores in cluster              */
    111     uint32_t          ram_size;        /*! physical memory size                           */
    112     uint32_t          ram_base;        /*! physical memory base (local address)           */
     114        uint32_t          cores_nr;          /*! actual number of cores in cluster            */
     115    uint32_t          ram_size;          /*! physical memory size                         */
     116    uint32_t          ram_base;          /*! physical memory base (local address)         */
    113117
    114118        core_t            core_tbl[CONFIG_MAX_LOCAL_CORES];         /*! embedded cores        */
    115119
    116         list_entry_t      dev_root;        /*! root of list of devices in cluster             */
     120        list_entry_t      dev_root;          /*! root of list of devices in cluster           */
    117121
    118122    // memory allocators
    119         ppm_t             ppm;             /*! embedded kernel page manager                   */
    120         khm_t             khm;             /*! embedded kernel heap manager                   */
    121         kcm_t             kcm;             /*! embedded kernel cache manager (for KCMs)       */
     123        ppm_t             ppm;               /*! embedded kernel page manager                 */
     124        khm_t             khm;               /*! embedded kernel heap manager                 */
     125        kcm_t             kcm;               /*! embedded kernel cache manager (for KCMs)     */
     126
    122127    kcm_t           * kcm_tbl[KMEM_TYPES_NR];         /*! pointers on allocated KCMs      */
    123128
    124129    // RPC
    125         remote_fifo_t     rpc_fifo;        /*! RPC fifo (one per cluster)                     */
    126     uint32_t          rpc_threads;     /*! current number of RPC threads in cluster       */
     130        remote_fifo_t     rpc_fifo;          /*! RPC fifo (one per cluster)                   */
     131    uint32_t          rpc_threads;       /*! current number of RPC threads in cluster     */
    127132
    128133    // DQDT
    129     int32_t           pages_var;       /*! pages number increment from last DQQT update   */
    130     int32_t           threads_var;     /*! threads number increment from last DQDT update */
     134    int32_t           pages_var;         /*! pages number increment from last DQQT updt   */
     135    int32_t           threads_var;       /*! threads number increment from last DQDT updt */
    131136
    132137        dqdt_node_t       dqdt_tbl[CONFIG_DQDT_LEVELS_NR]; /*! embedded DQDT nodes in cluster */
     
    196201 * This function allocates a new PID in local cluster, that becomes the process owner.
    197202 * It registers the process descriptor extended pointer in the local processs manager
    198  * pref_tbl[] array. This function is called by the process_make_fork() function,
     203 * pref_tbl[] array. The process descriptor itself is not modified.
     204 * This function is called by the process_make_fork() function,
    199205 * by the process_make_exec() function, and by the process_init_create() function.
    200206 ******************************************************************************************
     
    255261void cluster_process_copies_unlink( struct process_s * process );
    256262
     263/*********************************************************************************************
     264 * This function displays on the kernel terminal TXT0 all user processes registered
     265 * in the cluster defined by the <cxy> argument.
     266 * It can be called by a thread running in any cluster, because is use remote accesses
     267 * to scan the xlist of registered processes.
     268 *********************************************************************************************
     269 * @ cxy   : cluster identifier.
     270 ********************************************************************************************/
     271void cluster_processes_display( cxy_t cxy );
     272
    257273
    258274
     
    262278
    263279/******************************************************************************************
    264  * This function increments the "cores_in_kernel" variable in cluster descriptor.
    265  *****************************************************************************************/
    266 void cluster_core_kernel_enter();
    267 
    268 /******************************************************************************************
    269  * This function decrements the "cores_in_kernel" variable in cluster descriptor.
    270  *****************************************************************************************/
    271 void cluster_core_kernel_exit();
    272 
    273 /******************************************************************************************
    274280 * This function returns the core local index that has the lowest usage in local cluster.
    275281 *****************************************************************************************/
Note: See TracChangeset for help on using the changeset viewer.