Changeset 296 for trunk/kernel/vfs


Ignore:
Timestamp:
Jul 31, 2017, 1:59:52 PM (5 years ago)
Author:
alain
Message:

Several modifs in the generic scheduler and in the hal_context to
fix the context switch mechanism.

Location:
trunk/kernel/vfs
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/vfs/vfs.c

    r279 r296  
    154154    error_t            error;
    155155
    156     vfs_dmsg("\n[INFO] %s : enter / local_cluster = %x / parent_cluster = %x\n",
    157              __FUNCTION__ , local_cxy , GET_CXY( dentry_xp ) );
     156    vfs_dmsg("\n[INFO] %s : enter / local_cxy = %x / parent_xp = %l\n",
     157    __FUNCTION__ , local_cxy , dentry_xp );
    158158 
    159159    // check fs type and get pointer on context
     
    228228    remote_spinlock_init( XPTR( local_cxy , &inode->main_lock ) );
    229229
    230     vfs_dmsg("\n[INFO] %s : enter / local_cluster = %x / parent_cluster = %x\n",
    231              __FUNCTION__ , local_cxy , GET_CXY( dentry_xp ) );
     230    vfs_dmsg("\n[INFO] %s : exit / child_xp = %l / parent_xp = %l\n",
     231    __FUNCTION__ , XPTR( local_cxy , inode ) , dentry_xp );
    232232
    233233    // return extended pointer on inode
     
    435435        kmem_req_t       req;        // request to kernel memory allocator
    436436
     437    vfs_dmsg("\n[INFO] %s : enter for %s / parent inode = %x / cycle = %d\n",
     438    __FUNCTION__ , name , parent , hal_time_stamp() );
     439
    437440    // get pointer on context
    438441    if     ( fs_type == FS_TYPE_FATFS ) ctx = &fs_context[FS_TYPE_FATFS];
     
    481484    // return extended pointer on dentry
    482485    *dentry_xp = XPTR( local_cxy , dentry );
     486
     487    vfs_dmsg("\n[INFO] %s : exit for %s / cycle = %d\n",
     488    __FUNCTION__ , name , hal_time_stamp() );
    483489
    484490    return 0;
     
    15221528    parent_ptr = (vfs_inode_t *)GET_PTR( parent_xp );
    15231529
    1524     vfs_dmsg("\n[INFO] %s : enter in cluster %x / child_cxy = %x / parent_cxy = %x\n",
    1525              __FUNCTION__ , local_cxy , child_cxy , parent_cxy );
     1530    vfs_dmsg("\n[INFO] %s : enter in cluster %x for %s / child_cxy = %x / parent_xp = %l\n",
     1531    __FUNCTION__ , local_cxy , name , child_cxy , parent_xp );
    15261532
    15271533    // 1. create dentry
     
    16111617    hal_remote_swd( XPTR( dentry_cxy , &dentry_ptr->child_xp ) , inode_xp );
    16121618
     1619    vfs_dmsg("\n[INFO] %s : exit in cluster %x for %s\n",
     1620    __FUNCTION__ , local_cxy , name );
     1621
    16131622    // success : return extended pointer on child inode
    16141623    *child_xp = inode_xp;
  • trunk/kernel/vfs/vfs.h

    r266 r296  
    653653/******************************************************************************************
    654654 * This function creates a new couple dentry/inode, and insert it in the Inode-Tree.
    655  * It can be executed by any thread running in any cluster, as this function
    656  * uses the rpc_dentry_create_client() and rpc_inode_create client() if required.
    657  * This is done in three steps:
     655 * It can be executed by any thread running in any cluster ( can be differente from both
     656 * the child cluster and the parent cluster), as it uses the rpc_dentry_create_client()
     657 * and rpc_inode_create client() if required. This is done in three steps:
    658658 * 1) The dentry is created in the cluster containing the existing <parent_xp> inode.
    659659 *    The new dentry name is defined by the <name> argument.
Note: See TracChangeset for help on using the changeset viewer.