You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by "xiaoxiang781216 (via GitHub)" <gi...@apache.org> on 2023/01/27 07:47:21 UTC

[GitHub] [nuttx] xiaoxiang781216 opened a new pull request, #8271: fs/rpmsgfs: return ENOTTY to vfs to do cmd operate

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

   ## Summary
   
   and Revert "rpmsgfs: cache statfs result in case of deadlock"  
   
   ## Impact
   
   rpmsgfs
   
   ## Testing
   
   Xiaomi Watch S1 Pro


-- 
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-unsubscribe@nuttx.apache.org

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


[GitHub] [nuttx] acassis commented on pull request #8271: fs/rpmsgfs: return ENOTTY to vfs to do cmd operate

Posted by "acassis (via GitHub)" <gi...@apache.org>.
acassis commented on PR #8271:
URL: https://github.com/apache/nuttx/pull/8271#issuecomment-1406432094

   Please explain a little bit about the issue caused by that cache statfs, why the deadlock was happening?


-- 
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-unsubscribe@nuttx.apache.org

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


[GitHub] [nuttx] xiaoxiang781216 commented on pull request #8271: fs/rpmsgfs: return ENOTTY to vfs to do cmd operate

Posted by "xiaoxiang781216 (via GitHub)" <gi...@apache.org>.
xiaoxiang781216 commented on PR #8271:
URL: https://github.com/apache/nuttx/pull/8271#issuecomment-1406750938

   > Please explain a little bit about the issue caused by that cache statfs, 
   
   Since statfs will report the free space, caching the result will make report inaccurately in a long run.
   
   > why the deadlock was happening?
   
   Here is a callstack:
   ```
       rptun: msg from other cpu
       [ap] [ 5] [<0x2c353768>] arm_switchcontext+0xc/0x10
       [ap] [ 5] [<0x2c322266>] sem_wait+0x5a/0xbc
       [ap] [ 5] [<0x2c7400a8>] inode_semtake+0x24/0x5c
       [ap] [ 5] [<0x2c74087a>] inode_release+0x6/0x60
       [ap] [ 5] [<0x2c741284>] file_close+0x18/0x44
       [ap] [ 5] [<0x2c74fb06>] rpmsgfs_close_handler+0x86/0xe4
       [ap] [ 5] [<0x2c75b8de>] rpmsg_virtio_rx_callback+0xba/0x1b4
       [ap] [ 5] [<0x2c75af70>] rproc_virtio_notified+0x44/0x5c
       [ap] [ 5] [<0x2c75a93c>] remoteproc_get_notification+0x1c/0x2c
       [ap] [ 5] [<0x2c335a08>] rptun_thread+0x74/0x208
       [ap] [ 5] [<0x2c323e72>] nxtask_start+0x3a/0x60
       
       nsh: send msg to other cpu with inode lock
       [ap] [10] [<0x2c353768>] arm_switchcontext+0xc/0x10
       [ap] [10] [<0x2c3221b2>] nxsem_wait_uninterruptible+0x6e/0xc8
       [ap] [10] [<0x2c74e498>] rpmsgfs_send_recv.constprop.0+0x78/0xc0
       [ap] [10] [<0x2c74ebc0>] rpmsgfs_client_statfs+0x50/0x80
       [ap] [10] [<0x2c3221ca>] nxsem_wait_uninterruptible+0x86/0xc8
       [ap] [10] [<0x2c74da78>] rpmsgfs_statfs+0x28/0x50
       [ap] [10] [<0x2c74534e>] mountpoint_filter+0x66/0x90
       [ap] [10] [<0x2c740016>] foreach_inodelevel+0x66/0x88
       [ap] [10] [<0x2c73fffa>] foreach_inodelevel+0x4a/0x88
       [ap] [10] [<0x2c740062>] foreach_inode+0x2a/0x48
       [ap] [10] [<0x2c745388>] foreach_mountpoint+0x10/0x20
       [ap] [10] [<0x2c745606>] mount_read+0x36/0x70
       [ap] [10] [<0x2c742a34>] read+0x30/0x5c
       [ap] [10] [<0x2c371096>] nsh_catfile+0x36/0x140
       [ap] [10] [<0x2c36d01a>] nsh_parse_command+0x7fe/0xc54
       [ap] [10] [<0x2c370f92>] nsh_session+0x66/0x134
       [ap] [10] [<0x2c3721a4>] nsh_consolemain+0x2c/0x44
       [ap] [10] [<0x2c374fde>] nsh_main+0x2a/0x4c
       [ap] [10] [<0x2c33f7f8>] lib_cxx_initialize+0x24/0x48
       [ap] [10] [<0x2c34274a>] nxtask_startup+0x12/0x24
       [ap] [10] [<0x2c323e7e>] nxtask_start+0x46/0x60
   ```
    Bascally, the global inode lock introduce the dead lock. We need find a better way to fix the dead lock.


-- 
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-unsubscribe@nuttx.apache.org

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


[GitHub] [nuttx] xiaoxiang781216 closed pull request #8271: fs/rpmsgfs: return ENOTTY to vfs to do cmd operate

Posted by "xiaoxiang781216 (via GitHub)" <gi...@apache.org>.
xiaoxiang781216 closed pull request #8271: fs/rpmsgfs: return ENOTTY to vfs to do cmd operate 
URL: https://github.com/apache/nuttx/pull/8271


-- 
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-unsubscribe@nuttx.apache.org

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