From a30f976398255bcf454c75c4c2d8788bc714b0f8 Mon Sep 17 00:00:00 2001 From: chao an Date: Sun, 19 Jan 2025 20:06:12 +0800 Subject: [PATCH] fs/vfs: skip uio logic if only one iovcnt in slot to improve the performance Signed-off-by: chao an --- fs/vfs/fs_read.c | 2 +- fs/vfs/fs_write.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/vfs/fs_read.c b/fs/vfs/fs_read.c index 5ae13b57cd405..e1eaf6fbcb41e 100644 --- a/fs/vfs/fs_read.c +++ b/fs/vfs/fs_read.c @@ -182,7 +182,7 @@ ssize_t file_readv(FAR struct file *filep, else if (inode != NULL && inode->u.i_ops) { - if (inode->u.i_ops->readv) + if (iovcnt > 1 && inode->u.i_ops->readv) { struct uio uio; diff --git a/fs/vfs/fs_write.c b/fs/vfs/fs_write.c index 89b5cddd910fd..409d80b6c08e5 100644 --- a/fs/vfs/fs_write.c +++ b/fs/vfs/fs_write.c @@ -160,7 +160,7 @@ ssize_t file_writev(FAR struct file *filep, inode = filep->f_inode; if (inode != NULL && inode->u.i_ops) { - if (inode->u.i_ops->writev) + if (iovcnt > 1 && inode->u.i_ops->writev) { struct uio uio;