All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] ceph: send io size metrics to mds daemon
@ 2021-05-13  1:40 xiubli
  2021-05-13  1:40 ` [PATCH v2 1/2] ceph: simplify the metrics struct xiubli
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: xiubli @ 2021-05-13  1:40 UTC (permalink / raw)
  To: jlayton; +Cc: idryomov, pdonnell, ukernel, ceph-devel, Xiubo Li

From: Xiubo Li <xiubli@redhat.com>

V2:
- change the patch order
- replace the fixed 10 with sizeof(struct ceph_metric_header)

Xiubo Li (2):
  ceph: simplify the metrics struct
  ceph: send the read/write io size metrics to mds

 fs/ceph/metric.c | 90 ++++++++++++++++++++++++++++++------------------
 fs/ceph/metric.h | 79 +++++++++++++++++-------------------------
 2 files changed, 89 insertions(+), 80 deletions(-)

-- 
2.27.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v2 1/2] ceph: simplify the metrics struct
  2021-05-13  1:40 [PATCH v2 0/2] ceph: send io size metrics to mds daemon xiubli
@ 2021-05-13  1:40 ` xiubli
  2021-05-13  1:40 ` [PATCH v2 2/2] ceph: send the read/write io size metrics to mds xiubli
  2021-05-13 11:30 ` [PATCH v2 0/2] ceph: send io size metrics to mds daemon Jeff Layton
  2 siblings, 0 replies; 10+ messages in thread
From: xiubli @ 2021-05-13  1:40 UTC (permalink / raw)
  To: jlayton; +Cc: idryomov, pdonnell, ukernel, ceph-devel, Xiubo Li

From: Xiubo Li <xiubli@redhat.com>

Signed-off-by: Xiubo Li <xiubli@redhat.com>
---
 fs/ceph/metric.c | 65 ++++++++++++++++++++++++------------------------
 fs/ceph/metric.h | 59 ++++++++++---------------------------------
 2 files changed, 46 insertions(+), 78 deletions(-)

diff --git a/fs/ceph/metric.c b/fs/ceph/metric.c
index fbeb8f2fe5ad..57f28995c665 100644
--- a/fs/ceph/metric.c
+++ b/fs/ceph/metric.c
@@ -22,6 +22,7 @@ static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc,
 	struct ceph_opened_inodes *inodes;
 	struct ceph_client_metric *m = &mdsc->metric;
 	u64 nr_caps = atomic64_read(&m->total_caps);
+	u32 header_len = sizeof(struct ceph_metric_header);
 	struct ceph_msg *msg;
 	struct timespec64 ts;
 	s64 sum;
@@ -43,10 +44,10 @@ static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc,
 
 	/* encode the cap metric */
 	cap = (struct ceph_metric_cap *)(head + 1);
-	cap->type = cpu_to_le32(CLIENT_METRIC_TYPE_CAP_INFO);
-	cap->ver = 1;
-	cap->compat = 1;
-	cap->data_len = cpu_to_le32(sizeof(*cap) - 10);
+	cap->header.type = cpu_to_le32(CLIENT_METRIC_TYPE_CAP_INFO);
+	cap->header.ver = 1;
+	cap->header.compat = 1;
+	cap->header.data_len = cpu_to_le32(sizeof(*cap) - header_len);
 	cap->hit = cpu_to_le64(percpu_counter_sum(&m->i_caps_hit));
 	cap->mis = cpu_to_le64(percpu_counter_sum(&m->i_caps_mis));
 	cap->total = cpu_to_le64(nr_caps);
@@ -54,10 +55,10 @@ static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc,
 
 	/* encode the read latency metric */
 	read = (struct ceph_metric_read_latency *)(cap + 1);
-	read->type = cpu_to_le32(CLIENT_METRIC_TYPE_READ_LATENCY);
-	read->ver = 1;
-	read->compat = 1;
-	read->data_len = cpu_to_le32(sizeof(*read) - 10);
+	read->header.type = cpu_to_le32(CLIENT_METRIC_TYPE_READ_LATENCY);
+	read->header.ver = 1;
+	read->header.compat = 1;
+	read->header.data_len = cpu_to_le32(sizeof(*read) - header_len);
 	sum = m->read_latency_sum;
 	jiffies_to_timespec64(sum, &ts);
 	read->sec = cpu_to_le32(ts.tv_sec);
@@ -66,10 +67,10 @@ static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc,
 
 	/* encode the write latency metric */
 	write = (struct ceph_metric_write_latency *)(read + 1);
-	write->type = cpu_to_le32(CLIENT_METRIC_TYPE_WRITE_LATENCY);
-	write->ver = 1;
-	write->compat = 1;
-	write->data_len = cpu_to_le32(sizeof(*write) - 10);
+	write->header.type = cpu_to_le32(CLIENT_METRIC_TYPE_WRITE_LATENCY);
+	write->header.ver = 1;
+	write->header.compat = 1;
+	write->header.data_len = cpu_to_le32(sizeof(*write) - header_len);
 	sum = m->write_latency_sum;
 	jiffies_to_timespec64(sum, &ts);
 	write->sec = cpu_to_le32(ts.tv_sec);
@@ -78,10 +79,10 @@ static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc,
 
 	/* encode the metadata latency metric */
 	meta = (struct ceph_metric_metadata_latency *)(write + 1);
-	meta->type = cpu_to_le32(CLIENT_METRIC_TYPE_METADATA_LATENCY);
-	meta->ver = 1;
-	meta->compat = 1;
-	meta->data_len = cpu_to_le32(sizeof(*meta) - 10);
+	meta->header.type = cpu_to_le32(CLIENT_METRIC_TYPE_METADATA_LATENCY);
+	meta->header.ver = 1;
+	meta->header.compat = 1;
+	meta->header.data_len = cpu_to_le32(sizeof(*meta) - header_len);
 	sum = m->metadata_latency_sum;
 	jiffies_to_timespec64(sum, &ts);
 	meta->sec = cpu_to_le32(ts.tv_sec);
@@ -90,10 +91,10 @@ static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc,
 
 	/* encode the dentry lease metric */
 	dlease = (struct ceph_metric_dlease *)(meta + 1);
-	dlease->type = cpu_to_le32(CLIENT_METRIC_TYPE_DENTRY_LEASE);
-	dlease->ver = 1;
-	dlease->compat = 1;
-	dlease->data_len = cpu_to_le32(sizeof(*dlease) - 10);
+	dlease->header.type = cpu_to_le32(CLIENT_METRIC_TYPE_DENTRY_LEASE);
+	dlease->header.ver = 1;
+	dlease->header.compat = 1;
+	dlease->header.data_len = cpu_to_le32(sizeof(*dlease) - header_len);
 	dlease->hit = cpu_to_le64(percpu_counter_sum(&m->d_lease_hit));
 	dlease->mis = cpu_to_le64(percpu_counter_sum(&m->d_lease_mis));
 	dlease->total = cpu_to_le64(atomic64_read(&m->total_dentries));
@@ -103,30 +104,30 @@ static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc,
 
 	/* encode the opened files metric */
 	files = (struct ceph_opened_files *)(dlease + 1);
-	files->type = cpu_to_le32(CLIENT_METRIC_TYPE_OPENED_FILES);
-	files->ver = 1;
-	files->compat = 1;
-	files->data_len = cpu_to_le32(sizeof(*files) - 10);
+	files->header.type = cpu_to_le32(CLIENT_METRIC_TYPE_OPENED_FILES);
+	files->header.ver = 1;
+	files->header.compat = 1;
+	files->header.data_len = cpu_to_le32(sizeof(*files) - header_len);
 	files->opened_files = cpu_to_le64(atomic64_read(&m->opened_files));
 	files->total = cpu_to_le64(sum);
 	items++;
 
 	/* encode the pinned icaps metric */
 	icaps = (struct ceph_pinned_icaps *)(files + 1);
-	icaps->type = cpu_to_le32(CLIENT_METRIC_TYPE_PINNED_ICAPS);
-	icaps->ver = 1;
-	icaps->compat = 1;
-	icaps->data_len = cpu_to_le32(sizeof(*icaps) - 10);
+	icaps->header.type = cpu_to_le32(CLIENT_METRIC_TYPE_PINNED_ICAPS);
+	icaps->header.ver = 1;
+	icaps->header.compat = 1;
+	icaps->header.data_len = cpu_to_le32(sizeof(*icaps) - header_len);
 	icaps->pinned_icaps = cpu_to_le64(nr_caps);
 	icaps->total = cpu_to_le64(sum);
 	items++;
 
 	/* encode the opened inodes metric */
 	inodes = (struct ceph_opened_inodes *)(icaps + 1);
-	inodes->type = cpu_to_le32(CLIENT_METRIC_TYPE_OPENED_INODES);
-	inodes->ver = 1;
-	inodes->compat = 1;
-	inodes->data_len = cpu_to_le32(sizeof(*inodes) - 10);
+	inodes->header.type = cpu_to_le32(CLIENT_METRIC_TYPE_OPENED_INODES);
+	inodes->header.ver = 1;
+	inodes->header.compat = 1;
+	inodes->header.data_len = cpu_to_le32(sizeof(*inodes) - header_len);
 	inodes->opened_inodes = cpu_to_le64(percpu_counter_sum(&m->opened_inodes));
 	inodes->total = cpu_to_le64(sum);
 	items++;
diff --git a/fs/ceph/metric.h b/fs/ceph/metric.h
index 4bd92689bf12..89ce32f1dc50 100644
--- a/fs/ceph/metric.h
+++ b/fs/ceph/metric.h
@@ -38,14 +38,16 @@ enum ceph_metric_type {
 	CLIENT_METRIC_TYPE_MAX,			\
 }
 
-/* metric caps header */
-struct ceph_metric_cap {
+struct ceph_metric_header {
 	__le32 type;     /* ceph metric type */
-
 	__u8  ver;
 	__u8  compat;
-
 	__le32 data_len; /* length of sizeof(hit + mis + total) */
+} __packed;
+
+/* metric caps header */
+struct ceph_metric_cap {
+	struct ceph_metric_header header;
 	__le64 hit;
 	__le64 mis;
 	__le64 total;
@@ -53,48 +55,28 @@ struct ceph_metric_cap {
 
 /* metric read latency header */
 struct ceph_metric_read_latency {
-	__le32 type;     /* ceph metric type */
-
-	__u8  ver;
-	__u8  compat;
-
-	__le32 data_len; /* length of sizeof(sec + nsec) */
+	struct ceph_metric_header header;
 	__le32 sec;
 	__le32 nsec;
 } __packed;
 
 /* metric write latency header */
 struct ceph_metric_write_latency {
-	__le32 type;     /* ceph metric type */
-
-	__u8  ver;
-	__u8  compat;
-
-	__le32 data_len; /* length of sizeof(sec + nsec) */
+	struct ceph_metric_header header;
 	__le32 sec;
 	__le32 nsec;
 } __packed;
 
 /* metric metadata latency header */
 struct ceph_metric_metadata_latency {
-	__le32 type;     /* ceph metric type */
-
-	__u8  ver;
-	__u8  compat;
-
-	__le32 data_len; /* length of sizeof(sec + nsec) */
+	struct ceph_metric_header header;
 	__le32 sec;
 	__le32 nsec;
 } __packed;
 
 /* metric dentry lease header */
 struct ceph_metric_dlease {
-	__le32 type;     /* ceph metric type */
-
-	__u8  ver;
-	__u8  compat;
-
-	__le32 data_len; /* length of sizeof(hit + mis + total) */
+	struct ceph_metric_header header;
 	__le64 hit;
 	__le64 mis;
 	__le64 total;
@@ -102,36 +84,21 @@ struct ceph_metric_dlease {
 
 /* metric opened files header */
 struct ceph_opened_files {
-	__le32 type;     /* ceph metric type */
-
-	__u8  ver;
-	__u8  compat;
-
-	__le32 data_len; /* length of sizeof(opened_files + total) */
+	struct ceph_metric_header header;
 	__le64 opened_files;
 	__le64 total;
 } __packed;
 
 /* metric pinned i_caps header */
 struct ceph_pinned_icaps {
-	__le32 type;     /* ceph metric type */
-
-	__u8  ver;
-	__u8  compat;
-
-	__le32 data_len; /* length of sizeof(pinned_icaps + total) */
+	struct ceph_metric_header header;
 	__le64 pinned_icaps;
 	__le64 total;
 } __packed;
 
 /* metric opened inodes header */
 struct ceph_opened_inodes {
-	__le32 type;     /* ceph metric type */
-
-	__u8  ver;
-	__u8  compat;
-
-	__le32 data_len; /* length of sizeof(opened_inodes + total) */
+	struct ceph_metric_header header;
 	__le64 opened_inodes;
 	__le64 total;
 } __packed;
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 2/2] ceph: send the read/write io size metrics to mds
  2021-05-13  1:40 [PATCH v2 0/2] ceph: send io size metrics to mds daemon xiubli
  2021-05-13  1:40 ` [PATCH v2 1/2] ceph: simplify the metrics struct xiubli
@ 2021-05-13  1:40 ` xiubli
  2021-05-13 11:30 ` [PATCH v2 0/2] ceph: send io size metrics to mds daemon Jeff Layton
  2 siblings, 0 replies; 10+ messages in thread
From: xiubli @ 2021-05-13  1:40 UTC (permalink / raw)
  To: jlayton; +Cc: idryomov, pdonnell, ukernel, ceph-devel, Xiubo Li

From: Xiubo Li <xiubli@redhat.com>

URL: https://tracker.ceph.com/issues/49913
Signed-off-by: Xiubo Li <xiubli@redhat.com>
---
 fs/ceph/metric.c | 25 ++++++++++++++++++++++++-
 fs/ceph/metric.h | 20 +++++++++++++++++++-
 2 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/fs/ceph/metric.c b/fs/ceph/metric.c
index 57f28995c665..9577c71e645d 100644
--- a/fs/ceph/metric.c
+++ b/fs/ceph/metric.c
@@ -20,6 +20,8 @@ static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc,
 	struct ceph_opened_files *files;
 	struct ceph_pinned_icaps *icaps;
 	struct ceph_opened_inodes *inodes;
+	struct ceph_read_io_size *rsize;
+	struct ceph_write_io_size *wsize;
 	struct ceph_client_metric *m = &mdsc->metric;
 	u64 nr_caps = atomic64_read(&m->total_caps);
 	u32 header_len = sizeof(struct ceph_metric_header);
@@ -31,7 +33,8 @@ static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc,
 
 	len = sizeof(*head) + sizeof(*cap) + sizeof(*read) + sizeof(*write)
 	      + sizeof(*meta) + sizeof(*dlease) + sizeof(*files)
-	      + sizeof(*icaps) + sizeof(*inodes);
+	      + sizeof(*icaps) + sizeof(*inodes) + sizeof(*rsize)
+	      + sizeof(*wsize);
 
 	msg = ceph_msg_new(CEPH_MSG_CLIENT_METRICS, len, GFP_NOFS, true);
 	if (!msg) {
@@ -132,6 +135,26 @@ static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc,
 	inodes->total = cpu_to_le64(sum);
 	items++;
 
+	/* encode the read io size metric */
+	rsize = (struct ceph_read_io_size *)(inodes + 1);
+	rsize->header.type = cpu_to_le32(CLIENT_METRIC_TYPE_READ_IO_SIZES);
+	rsize->header.ver = 1;
+	rsize->header.compat = 1;
+	rsize->header.data_len = cpu_to_le32(sizeof(*rsize) - header_len);
+	rsize->total_ops = cpu_to_le64(m->total_reads);
+	rsize->total_size = cpu_to_le64(m->read_size_sum);
+	items++;
+
+	/* encode the write io size metric */
+	wsize = (struct ceph_write_io_size *)(rsize + 1);
+	wsize->header.type = cpu_to_le32(CLIENT_METRIC_TYPE_WRITE_IO_SIZES);
+	wsize->header.ver = 1;
+	wsize->header.compat = 1;
+	wsize->header.data_len = cpu_to_le32(sizeof(*wsize) - header_len);
+	wsize->total_ops = cpu_to_le64(m->total_writes);
+	wsize->total_size = cpu_to_le64(m->write_size_sum);
+	items++;
+
 	put_unaligned_le32(items, &head->num);
 	msg->front.iov_len = len;
 	msg->hdr.version = cpu_to_le16(1);
diff --git a/fs/ceph/metric.h b/fs/ceph/metric.h
index 89ce32f1dc50..0133955a3c6a 100644
--- a/fs/ceph/metric.h
+++ b/fs/ceph/metric.h
@@ -17,8 +17,10 @@ enum ceph_metric_type {
 	CLIENT_METRIC_TYPE_OPENED_FILES,
 	CLIENT_METRIC_TYPE_PINNED_ICAPS,
 	CLIENT_METRIC_TYPE_OPENED_INODES,
+	CLIENT_METRIC_TYPE_READ_IO_SIZES,
+	CLIENT_METRIC_TYPE_WRITE_IO_SIZES,
 
-	CLIENT_METRIC_TYPE_MAX = CLIENT_METRIC_TYPE_OPENED_INODES,
+	CLIENT_METRIC_TYPE_MAX = CLIENT_METRIC_TYPE_WRITE_IO_SIZES,
 };
 
 /*
@@ -34,6 +36,8 @@ enum ceph_metric_type {
 	CLIENT_METRIC_TYPE_OPENED_FILES,	\
 	CLIENT_METRIC_TYPE_PINNED_ICAPS,	\
 	CLIENT_METRIC_TYPE_OPENED_INODES,	\
+	CLIENT_METRIC_TYPE_READ_IO_SIZES,	\
+	CLIENT_METRIC_TYPE_WRITE_IO_SIZES,	\
 						\
 	CLIENT_METRIC_TYPE_MAX,			\
 }
@@ -103,6 +107,20 @@ struct ceph_opened_inodes {
 	__le64 total;
 } __packed;
 
+/* metric read io size header */
+struct ceph_read_io_size {
+	struct ceph_metric_header header;
+	__le64 total_ops;
+	__le64 total_size;
+} __packed;
+
+/* metric write io size header */
+struct ceph_write_io_size {
+	struct ceph_metric_header header;
+	__le64 total_ops;
+	__le64 total_size;
+} __packed;
+
 struct ceph_metric_head {
 	__le32 num;	/* the number of metrics that will be sent */
 } __packed;
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 0/2] ceph: send io size metrics to mds daemon
  2021-05-13  1:40 [PATCH v2 0/2] ceph: send io size metrics to mds daemon xiubli
  2021-05-13  1:40 ` [PATCH v2 1/2] ceph: simplify the metrics struct xiubli
  2021-05-13  1:40 ` [PATCH v2 2/2] ceph: send the read/write io size metrics to mds xiubli
@ 2021-05-13 11:30 ` Jeff Layton
  2021-05-14  0:47   ` Xiubo Li
  2 siblings, 1 reply; 10+ messages in thread
From: Jeff Layton @ 2021-05-13 11:30 UTC (permalink / raw)
  To: xiubli; +Cc: idryomov, pdonnell, ukernel, ceph-devel

On Thu, 2021-05-13 at 09:40 +0800, xiubli@redhat.com wrote:
> From: Xiubo Li <xiubli@redhat.com>
> 
> V2:
> - change the patch order
> - replace the fixed 10 with sizeof(struct ceph_metric_header)
> 
> Xiubo Li (2):
>   ceph: simplify the metrics struct
>   ceph: send the read/write io size metrics to mds
> 
>  fs/ceph/metric.c | 90 ++++++++++++++++++++++++++++++------------------
>  fs/ceph/metric.h | 79 +++++++++++++++++-------------------------
>  2 files changed, 89 insertions(+), 80 deletions(-)
> 

Thanks Xiubo,

These look good. I'll do some testing with them and plan to merge these
into the testing branch later today.

Cheers,
-- 
Jeff Layton <jlayton@kernel.org>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 0/2] ceph: send io size metrics to mds daemon
  2021-05-13 11:30 ` [PATCH v2 0/2] ceph: send io size metrics to mds daemon Jeff Layton
@ 2021-05-14  0:47   ` Xiubo Li
  2021-05-14  8:57     ` Ilya Dryomov
  0 siblings, 1 reply; 10+ messages in thread
From: Xiubo Li @ 2021-05-14  0:47 UTC (permalink / raw)
  To: Jeff Layton; +Cc: idryomov, pdonnell, ukernel, ceph-devel


On 5/13/21 7:30 PM, Jeff Layton wrote:
> On Thu, 2021-05-13 at 09:40 +0800, xiubli@redhat.com wrote:
>> From: Xiubo Li <xiubli@redhat.com>
>>
>> V2:
>> - change the patch order
>> - replace the fixed 10 with sizeof(struct ceph_metric_header)
>>
>> Xiubo Li (2):
>>    ceph: simplify the metrics struct
>>    ceph: send the read/write io size metrics to mds
>>
>>   fs/ceph/metric.c | 90 ++++++++++++++++++++++++++++++------------------
>>   fs/ceph/metric.h | 79 +++++++++++++++++-------------------------
>>   2 files changed, 89 insertions(+), 80 deletions(-)
>>
> Thanks Xiubo,
>
> These look good. I'll do some testing with them and plan to merge these
> into the testing branch later today.

Sure, take your time.

BRs

Xiubo


> Cheers,


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 0/2] ceph: send io size metrics to mds daemon
  2021-05-14  0:47   ` Xiubo Li
@ 2021-05-14  8:57     ` Ilya Dryomov
  2021-05-14  9:14       ` Xiubo Li
  0 siblings, 1 reply; 10+ messages in thread
From: Ilya Dryomov @ 2021-05-14  8:57 UTC (permalink / raw)
  To: Xiubo Li; +Cc: Jeff Layton, Patrick Donnelly, Yan, Zheng, Ceph Development

On Fri, May 14, 2021 at 2:47 AM Xiubo Li <xiubli@redhat.com> wrote:
>
>
> On 5/13/21 7:30 PM, Jeff Layton wrote:
> > On Thu, 2021-05-13 at 09:40 +0800, xiubli@redhat.com wrote:
> >> From: Xiubo Li <xiubli@redhat.com>
> >>
> >> V2:
> >> - change the patch order
> >> - replace the fixed 10 with sizeof(struct ceph_metric_header)
> >>
> >> Xiubo Li (2):
> >>    ceph: simplify the metrics struct
> >>    ceph: send the read/write io size metrics to mds
> >>
> >>   fs/ceph/metric.c | 90 ++++++++++++++++++++++++++++++------------------
> >>   fs/ceph/metric.h | 79 +++++++++++++++++-------------------------
> >>   2 files changed, 89 insertions(+), 80 deletions(-)
> >>
> > Thanks Xiubo,
> >
> > These look good. I'll do some testing with them and plan to merge these
> > into the testing branch later today.
>
> Sure, take your time.

FYI I squashed "ceph: send the read/write io size metrics to mds" into
"ceph: add IO size metrics support".

Thanks,

                Ilya

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 0/2] ceph: send io size metrics to mds daemon
  2021-05-14  8:57     ` Ilya Dryomov
@ 2021-05-14  9:14       ` Xiubo Li
  2021-05-17 15:46         ` Jeff Layton
  0 siblings, 1 reply; 10+ messages in thread
From: Xiubo Li @ 2021-05-14  9:14 UTC (permalink / raw)
  To: Ilya Dryomov; +Cc: Jeff Layton, Patrick Donnelly, Yan, Zheng, Ceph Development


On 5/14/21 4:57 PM, Ilya Dryomov wrote:
> On Fri, May 14, 2021 at 2:47 AM Xiubo Li <xiubli@redhat.com> wrote:
>>
>> On 5/13/21 7:30 PM, Jeff Layton wrote:
>>> On Thu, 2021-05-13 at 09:40 +0800, xiubli@redhat.com wrote:
>>>> From: Xiubo Li <xiubli@redhat.com>
>>>>
>>>> V2:
>>>> - change the patch order
>>>> - replace the fixed 10 with sizeof(struct ceph_metric_header)
>>>>
>>>> Xiubo Li (2):
>>>>     ceph: simplify the metrics struct
>>>>     ceph: send the read/write io size metrics to mds
>>>>
>>>>    fs/ceph/metric.c | 90 ++++++++++++++++++++++++++++++------------------
>>>>    fs/ceph/metric.h | 79 +++++++++++++++++-------------------------
>>>>    2 files changed, 89 insertions(+), 80 deletions(-)
>>>>
>>> Thanks Xiubo,
>>>
>>> These look good. I'll do some testing with them and plan to merge these
>>> into the testing branch later today.
>> Sure, take your time.
> FYI I squashed "ceph: send the read/write io size metrics to mds" into
> "ceph: add IO size metrics support".

Got it.

Thanks


> Thanks,
>
>                  Ilya
>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 0/2] ceph: send io size metrics to mds daemon
  2021-05-14  9:14       ` Xiubo Li
@ 2021-05-17 15:46         ` Jeff Layton
  2021-05-18  1:00           ` Xiubo Li
  0 siblings, 1 reply; 10+ messages in thread
From: Jeff Layton @ 2021-05-17 15:46 UTC (permalink / raw)
  To: Xiubo Li, Ilya Dryomov; +Cc: Patrick Donnelly, Yan, Zheng, Ceph Development

On Fri, 2021-05-14 at 17:14 +0800, Xiubo Li wrote:
> On 5/14/21 4:57 PM, Ilya Dryomov wrote:
> > On Fri, May 14, 2021 at 2:47 AM Xiubo Li <xiubli@redhat.com> wrote:
> > > 
> > > On 5/13/21 7:30 PM, Jeff Layton wrote:
> > > > On Thu, 2021-05-13 at 09:40 +0800, xiubli@redhat.com wrote:
> > > > > From: Xiubo Li <xiubli@redhat.com>
> > > > > 
> > > > > V2:
> > > > > - change the patch order
> > > > > - replace the fixed 10 with sizeof(struct ceph_metric_header)
> > > > > 
> > > > > Xiubo Li (2):
> > > > >     ceph: simplify the metrics struct
> > > > >     ceph: send the read/write io size metrics to mds
> > > > > 
> > > > >    fs/ceph/metric.c | 90 ++++++++++++++++++++++++++++++------------------
> > > > >    fs/ceph/metric.h | 79 +++++++++++++++++-------------------------
> > > > >    2 files changed, 89 insertions(+), 80 deletions(-)
> > > > > 
> > > > Thanks Xiubo,
> > > > 
> > > > These look good. I'll do some testing with them and plan to merge these
> > > > into the testing branch later today.
> > > Sure, take your time.
> > FYI I squashed "ceph: send the read/write io size metrics to mds" into
> > "ceph: add IO size metrics support".
> 

I've dropped this combined patch for now, as it was triggering an MDS
assertion that was hampering testing [1]. I'll plan to add it back once
that problem is resolved in the MDS.

[1]: https://github.com/ceph/ceph/pull/41357

Cheers,
-- 
Jeff Layton <jlayton@kernel.org>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 0/2] ceph: send io size metrics to mds daemon
  2021-05-17 15:46         ` Jeff Layton
@ 2021-05-18  1:00           ` Xiubo Li
  2021-05-22 12:15             ` Jeff Layton
  0 siblings, 1 reply; 10+ messages in thread
From: Xiubo Li @ 2021-05-18  1:00 UTC (permalink / raw)
  To: Jeff Layton, Ilya Dryomov; +Cc: Patrick Donnelly, Yan, Zheng, Ceph Development


On 5/17/21 11:46 PM, Jeff Layton wrote:
> On Fri, 2021-05-14 at 17:14 +0800, Xiubo Li wrote:
>> On 5/14/21 4:57 PM, Ilya Dryomov wrote:
>>> On Fri, May 14, 2021 at 2:47 AM Xiubo Li <xiubli@redhat.com> wrote:
>>>> On 5/13/21 7:30 PM, Jeff Layton wrote:
>>>>> On Thu, 2021-05-13 at 09:40 +0800, xiubli@redhat.com wrote:
>>>>>> From: Xiubo Li <xiubli@redhat.com>
>>>>>>
>>>>>> V2:
>>>>>> - change the patch order
>>>>>> - replace the fixed 10 with sizeof(struct ceph_metric_header)
>>>>>>
>>>>>> Xiubo Li (2):
>>>>>>      ceph: simplify the metrics struct
>>>>>>      ceph: send the read/write io size metrics to mds
>>>>>>
>>>>>>     fs/ceph/metric.c | 90 ++++++++++++++++++++++++++++++------------------
>>>>>>     fs/ceph/metric.h | 79 +++++++++++++++++-------------------------
>>>>>>     2 files changed, 89 insertions(+), 80 deletions(-)
>>>>>>
>>>>> Thanks Xiubo,
>>>>>
>>>>> These look good. I'll do some testing with them and plan to merge these
>>>>> into the testing branch later today.
>>>> Sure, take your time.
>>> FYI I squashed "ceph: send the read/write io size metrics to mds" into
>>> "ceph: add IO size metrics support".
> I've dropped this combined patch for now, as it was triggering an MDS
> assertion that was hampering testing [1]. I'll plan to add it back once
> that problem is resolved in the MDS.
>
> [1]: https://github.com/ceph/ceph/pull/41357
>
> Cheers,

Ack. Thanks.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 0/2] ceph: send io size metrics to mds daemon
  2021-05-18  1:00           ` Xiubo Li
@ 2021-05-22 12:15             ` Jeff Layton
  0 siblings, 0 replies; 10+ messages in thread
From: Jeff Layton @ 2021-05-22 12:15 UTC (permalink / raw)
  To: Xiubo Li, Ilya Dryomov; +Cc: Patrick Donnelly, Yan, Zheng, Ceph Development

On Tue, 2021-05-18 at 09:00 +0800, Xiubo Li wrote:
> On 5/17/21 11:46 PM, Jeff Layton wrote:
> > On Fri, 2021-05-14 at 17:14 +0800, Xiubo Li wrote:
> > > On 5/14/21 4:57 PM, Ilya Dryomov wrote:
> > > > On Fri, May 14, 2021 at 2:47 AM Xiubo Li <xiubli@redhat.com> wrote:
> > > > > On 5/13/21 7:30 PM, Jeff Layton wrote:
> > > > > > On Thu, 2021-05-13 at 09:40 +0800, xiubli@redhat.com wrote:
> > > > > > > From: Xiubo Li <xiubli@redhat.com>
> > > > > > > 
> > > > > > > V2:
> > > > > > > - change the patch order
> > > > > > > - replace the fixed 10 with sizeof(struct ceph_metric_header)
> > > > > > > 
> > > > > > > Xiubo Li (2):
> > > > > > >      ceph: simplify the metrics struct
> > > > > > >      ceph: send the read/write io size metrics to mds
> > > > > > > 
> > > > > > >     fs/ceph/metric.c | 90 ++++++++++++++++++++++++++++++------------------
> > > > > > >     fs/ceph/metric.h | 79 +++++++++++++++++-------------------------
> > > > > > >     2 files changed, 89 insertions(+), 80 deletions(-)
> > > > > > > 
> > > > > > Thanks Xiubo,
> > > > > > 
> > > > > > These look good. I'll do some testing with them and plan to merge these
> > > > > > into the testing branch later today.
> > > > > Sure, take your time.
> > > > FYI I squashed "ceph: send the read/write io size metrics to mds" into
> > > > "ceph: add IO size metrics support".
> > I've dropped this combined patch for now, as it was triggering an MDS
> > assertion that was hampering testing [1]. I'll plan to add it back once
> > that problem is resolved in the MDS.
> > 
> > [1]: https://github.com/ceph/ceph/pull/41357
> > 
> > Cheers,
> 
> Ack. Thanks.
> 
> 

Patrick mentioned that the problem with the MDS has now been resolved,
so I've gone ahead and merged this patch back into testing branch. Let
me know if you see any more issues.

Thanks!
-- 
Jeff Layton <jlayton@kernel.org>


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-05-22 12:15 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-13  1:40 [PATCH v2 0/2] ceph: send io size metrics to mds daemon xiubli
2021-05-13  1:40 ` [PATCH v2 1/2] ceph: simplify the metrics struct xiubli
2021-05-13  1:40 ` [PATCH v2 2/2] ceph: send the read/write io size metrics to mds xiubli
2021-05-13 11:30 ` [PATCH v2 0/2] ceph: send io size metrics to mds daemon Jeff Layton
2021-05-14  0:47   ` Xiubo Li
2021-05-14  8:57     ` Ilya Dryomov
2021-05-14  9:14       ` Xiubo Li
2021-05-17 15:46         ` Jeff Layton
2021-05-18  1:00           ` Xiubo Li
2021-05-22 12:15             ` Jeff Layton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.