diff mbox series

eventfd: move 'eventfd-count' printing out of spinlock

Message ID tencent_6E80209FC9C7F45EE61E3FB3E7952A226A07@qq.com (mailing list archive)
State New, archived
Headers show
Series eventfd: move 'eventfd-count' printing out of spinlock | expand

Commit Message

Wen Yang Sept. 26, 2023, 2:05 p.m. UTC
From: Wen Yang <wenyang.linux@foxmail.com>

It is better to print debug messages outside of the wqh.lock
spinlock where possible.

Signed-off-by: Wen Yang <wenyang.linux@foxmail.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Dylan Yudaken <dylany@fb.com>
Cc: David Woodhouse <dwmw@amazon.co.uk>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Eric Biggers <ebiggers@google.com>
Cc: linux-fsdevel@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
 fs/eventfd.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Jens Axboe Sept. 27, 2023, 7:32 a.m. UTC | #1
On 9/26/23 8:05 AM, wenyang.linux@foxmail.com wrote:
> From: Wen Yang <wenyang.linux@foxmail.com>
> 
> It is better to print debug messages outside of the wqh.lock
> spinlock where possible.

Does it really matter for fdinfo? Your commit message is a bit
light, so I'm having to guess whether this is fixing a real issue
for you, or if it's just a drive-by observation.
Wen Yang Oct. 2, 2023, 3:12 p.m. UTC | #2
On 2023/9/27 15:32, Jens Axboe wrote:
> On 9/26/23 8:05 AM,wenyang.linux@foxmail.com  wrote:
>> From: Wen Yang<wenyang.linux@foxmail.com>
>>
>> It is better to print debug messages outside of the wqh.lock
>> spinlock where possible.
> Does it really matter for fdinfo? Your commit message is a bit
> light, so I'm having to guess whether this is fixing a real issue
> for you, or if it's just a drive-by observation.
>
Thanks for your comments.
There is a business running on our machine that frequently calls 
eventfd_write().
We will resend the V2 and provide a detailed explanation.

--

Best wishes,
Wen
diff mbox series

Patch

diff --git a/fs/eventfd.c b/fs/eventfd.c
index 33a918f9566c..6c5fe0f40aa5 100644
--- a/fs/eventfd.c
+++ b/fs/eventfd.c
@@ -295,11 +295,13 @@  static ssize_t eventfd_write(struct file *file, const char __user *buf, size_t c
 static void eventfd_show_fdinfo(struct seq_file *m, struct file *f)
 {
 	struct eventfd_ctx *ctx = f->private_data;
+	unsigned long long count;
 
 	spin_lock_irq(&ctx->wqh.lock);
-	seq_printf(m, "eventfd-count: %16llx\n",
-		   (unsigned long long)ctx->count);
+	count = ctx->count;
 	spin_unlock_irq(&ctx->wqh.lock);
+
+	seq_printf(m, "eventfd-count: %16llx\n", count);
 	seq_printf(m, "eventfd-id: %d\n", ctx->id);
 	seq_printf(m, "eventfd-semaphore: %d\n",
 		   !!(ctx->flags & EFD_SEMAPHORE));