XuNeo opened a new pull request, #14854:
URL: https://github.com/apache/nuttx/pull/14854

   *Note: Please adhere to [Contributing 
Guidelines](https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md).*
   
   ## Summary
   
   In this PR, we introduces several fs related tools. 
   This PR is based on part1/2 to minimize conflicts. I'll rebase once they are 
merged. For now please review commits by commits.
   
   New tools added:
   1. mount: similar to device side, mount lists all the mount point.
   2. `foreach_inode` print all the inode and its information
   ```
   go through each inode and print its structure info
   in the form like below:
   ├── i_name: bin, i_ino: 51
   │   i_parent: , i_peer: data, i_child: , i_crefs: 1, i_flags: 3
   │   ......(other info)
   │   ├── i_name: audio, i_ino: 5
   │   │   i_parent: dev, i_peer: binder, i_child: mixer......
   ```
   3. `fdinfo` print all the file opened in each task
   ```
   (gdb) fdinfo
   PID: 0
   FD  OFLAGS  POS   PATH                  BACKTRACE
   0   3       0     /dev/console          0x4028ff0c <sched_backtrace+48>      
           /home/neo/projects/vela2/nuttx/sched/sched/sched_backtrace.c:105
                                           0x402888f8 
<file_allocate_from_tcb+236>         
/home/neo/projects/vela2/nuttx/fs/inode/fs_files.c:615
                                           0x402979d0 <nx_vopen+104>            
           /home/neo/projects/vela2/nuttx/fs/vfs/fs_open.c:326
                                           0x40297ad4 <nx_open+116>             
           /home/neo/projects/vela2/nuttx/fs/vfs/fs_open.c:449
                                           0x40291eb4 <group_setupidlefiles+28> 
           /home/neo/projects/vela2/nuttx/sched/group/group_setupidlefiles.c:75
                                           0x4028df94 <nx_start+628>            
           /home/neo/projects/vela2/nuttx/sched/init/nx_start.c:651
                                           0x4028119c 
<arm64_boot_primary_c_routine+16>    
/home/neo/projects/vela2/nuttx/arch/arm64/src/common/arm64_boot.c:205
   
   1   3       0     /dev/console          0x4028ff0c <sched_backtrace+48>      
           /home/neo/projects/vela2/nuttx/sched/sched/sched_backtrace.c:105
                                           0x40289574 <file_dup3+248>           
           /home/neo/projects/vela2/nuttx/fs/vfs/fs_dup2.c:177
                                           0x40288b88 <nx_dup3_from_tcb+176>    
           /home/neo/projects/vela2/nuttx/fs/inode/fs_files.c:314
                                           0x40288c64 <nx_dup2_from_tcb+16>     
           /home/neo/projects/vela2/nuttx/fs/inode/fs_files.c:901
                                           0x40288c88 <nx_dup2+28>              
           /home/neo/projects/vela2/nuttx/fs/inode/fs_files.c:924
                                           0x40291ec4 <group_setupidlefiles+44> 
           /home/neo/projects/vela2/nuttx/sched/group/group_setupidlefiles.c:84
                                           0x4028df94 <nx_start+628>            
           /home/neo/projects/vela2/nuttx/sched/init/nx_start.c:651
                                           0x4028119c 
<arm64_boot_primary_c_routine+16>    
/home/neo/projects/vela2/nuttx/arch/arm64/src/common/arm64_boot.c:205
   
   2   3       0     /dev/console          0x4028ff0c <sched_backtrace+48>      
           /home/neo/projects/vela2/nuttx/sched/sched/sched_backtrace.c:105
                                           0x40289574 <file_dup3+248>           
           /home/neo/projects/vela2/nuttx/fs/vfs/fs_dup2.c:177
                                           0x40288b88 <nx_dup3_from_tcb+176>    
           /home/neo/projects/vela2/nuttx/fs/inode/fs_files.c:314
                                           0x40288c64 <nx_dup2_from_tcb+16>     
           /home/neo/projects/vela2/nuttx/fs/inode/fs_files.c:901
                                           0x40288c88 <nx_dup2+28>              
           /home/neo/projects/vela2/nuttx/fs/inode/fs_files.c:924
                                           0x40291ed0 <group_setupidlefiles+56> 
           /home/neo/projects/vela2/nuttx/sched/group/group_setupidlefiles.c:117
                                           0x4028df94 <nx_start+628>            
           /home/neo/projects/vela2/nuttx/sched/init/nx_start.c:651
                                           0x4028119c 
<arm64_boot_primary_c_routine+16>    
/home/neo/projects/vela2/nuttx/arch/arm64/src/common/arm64_boot.c:205
   ```
   4. `info shm` show the share memory usage
   ```
   (gdb) info shm
     /var/shm/xms:bq-325-1044165565 memsize: 1536000, paddr: 0x41de3970
     /var/shm/xms:bq-325-2123092606 memsize: 1536000, paddr: 0x41f5a9a8
     /var/shm/xms:fakemq-325-1835096569 memsize: 12, paddr: 0x420d19e0
   (gdb)
   ```
   
   Also included an performance optimization that use generate instead of list 
where possible.
   
   ## Impact
   
   New feature added.
   
   ## Testing
   
   Tested on qemu arm64(info shm is not available because it's disabled).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to