diff mbox series

RDMA/hfi1: stop using seq_get_buf in _driver_stats_seq_show

Message ID 20210810151711.1795374-1-hch@lst.de (mailing list archive)
State Accepted
Delegated to: Jason Gunthorpe
Headers show
Series RDMA/hfi1: stop using seq_get_buf in _driver_stats_seq_show | expand

Commit Message

Christoph Hellwig Aug. 10, 2021, 3:17 p.m. UTC
Just use seq_write to copy the stats into the seq_file buffer instead
of poking holes into the seq_file abstraction.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/infiniband/hw/hfi1/debugfs.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

Comments

Marciniszyn, Mike Aug. 11, 2021, 4:54 p.m. UTC | #1
> Subject: [PATCH] RDMA/hfi1: stop using seq_get_buf in
> _driver_stats_seq_show
> 
> Just use seq_write to copy the stats into the seq_file buffer instead of
> poking holes into the seq_file abstraction.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  drivers/infiniband/hw/hfi1/debugfs.c | 13 ++++---------
>  1 file changed, 4 insertions(+), 9 deletions(-)

Patch looks ok to me and it tests ok too!

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
Tested-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
Jason Gunthorpe Aug. 19, 2021, 2:40 p.m. UTC | #2
On Tue, Aug 10, 2021 at 05:17:11PM +0200, Christoph Hellwig wrote:
> Just use seq_write to copy the stats into the seq_file buffer instead
> of poking holes into the seq_file abstraction.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> Reviewed-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
> Tested-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
> ---
>  drivers/infiniband/hw/hfi1/debugfs.c | 13 ++++---------
>  1 file changed, 4 insertions(+), 9 deletions(-)

Applied to for-next, thanks

Jason
diff mbox series

Patch

diff --git a/drivers/infiniband/hw/hfi1/debugfs.c b/drivers/infiniband/hw/hfi1/debugfs.c
index 2ced236e1553..250079bca68e 100644
--- a/drivers/infiniband/hw/hfi1/debugfs.c
+++ b/drivers/infiniband/hw/hfi1/debugfs.c
@@ -1358,7 +1358,7 @@  static void _driver_stats_seq_stop(struct seq_file *s, void *v)
 {
 }
 
-static u64 hfi1_sps_ints(void)
+static void hfi1_sps_show_ints(struct seq_file *s)
 {
 	unsigned long index, flags;
 	struct hfi1_devdata *dd;
@@ -1369,24 +1369,19 @@  static u64 hfi1_sps_ints(void)
 		sps_ints += get_all_cpu_total(dd->int_counter);
 	}
 	xa_unlock_irqrestore(&hfi1_dev_table, flags);
-	return sps_ints;
+	seq_write(s, &sps_ints, sizeof(u64));
 }
 
 static int _driver_stats_seq_show(struct seq_file *s, void *v)
 {
 	loff_t *spos = v;
-	char *buffer;
 	u64 *stats = (u64 *)&hfi1_stats;
-	size_t sz = seq_get_buf(s, &buffer);
 
-	if (sz < sizeof(u64))
-		return SEQ_SKIP;
 	/* special case for interrupts */
 	if (*spos == 0)
-		*(u64 *)buffer = hfi1_sps_ints();
+		hfi1_sps_show_ints(s);
 	else
-		*(u64 *)buffer = stats[*spos];
-	seq_commit(s,  sizeof(u64));
+		seq_write(s, stats + *spos, sizeof(u64));
 	return 0;
 }