Skip to content

Commit 7d9db79

Browse files
committed
ocp-nvme: Recommit removed patch
commit a5f155c ("ocp-nvme: Add LMDATA-37 for Latency Monitor Log") Signed-off-by: Steven Seungcheol Lee <[email protected]>
1 parent b96cd2d commit 7d9db79

File tree

3 files changed

+32
-5
lines changed

3 files changed

+32
-5
lines changed

plugins/ocp/ocp-nvme.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,9 @@ struct __packed ssd_latency_monitor_log {
7373
__le64 static_latency_timestamp[4][3]; /* 0x130 - 0x18F */
7474
__le16 static_measured_latency[4][3]; /* 0x190 - 0x1A7 */
7575
__le16 static_latency_stamp_units; /* 0x1A8 */
76-
__u8 rsvd4[0x16]; /* 0x1AA */
76+
__u8 rsvd4[0x0A]; /* 0x1AA */
7777

78+
__u8 latency_monitor_debug_log_size[0x0C]; /* 0x1B4 */
7879
__le16 debug_log_trigger_enable; /* 0x1C0 */
7980
__le16 debug_log_measured_latency; /* 0x1C2 */
8081
__le64 debug_log_latency_stamp; /* 0x1C4 */

plugins/ocp/ocp-print-json.c

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ static void json_c3_log(struct nvme_dev *dev, struct ssd_latency_monitor_log *lo
258258
char buf[128];
259259
int i, j;
260260
char *operation[3] = {"Trim", "Write", "Read"};
261+
__u16 log_page_version = le16_to_cpu(log_data->log_page_version);
261262

262263
root = json_create_object();
263264

@@ -374,6 +375,21 @@ static void json_c3_log(struct nvme_dev *dev, struct ssd_latency_monitor_log *lo
374375

375376
json_object_add_value_uint(root, "Static Latency Stamp Units",
376377
le16_to_cpu(log_data->static_latency_stamp_units));
378+
379+
if (log_page_version >= 0x4) {
380+
strcpy(buf, "0x");
381+
for (i = ARRAY_SIZE(log_data->latency_monitor_debug_log_size) - 1;
382+
i > 0 && (log_data->latency_monitor_debug_log_size[i] == 0); i--)
383+
;
384+
while (i >= 0) {
385+
char hex_string[3];
386+
387+
sprintf(hex_string, "%02x", log_data->latency_monitor_debug_log_size[i--]);
388+
strcat(buf, hex_string);
389+
}
390+
json_object_add_value_string(root, "Debug Telemetry Log Size", buf);
391+
}
392+
377393
json_object_add_value_uint(root, "Debug Log Trigger Enable",
378394
le16_to_cpu(log_data->debug_log_trigger_enable));
379395
json_object_add_value_uint(root, "Debug Log Measured Latency",
@@ -390,8 +406,7 @@ static void json_c3_log(struct nvme_dev *dev, struct ssd_latency_monitor_log *lo
390406
le16_to_cpu(log_data->debug_log_counter_trigger));
391407
json_object_add_value_uint(root, "Debug Log Stamp Units",
392408
le16_to_cpu(log_data->debug_log_stamp_units));
393-
json_object_add_value_uint(root, "Log Page Version",
394-
le16_to_cpu(log_data->log_page_version));
409+
json_object_add_value_uint(root, "Log Page Version", log_page_version);
395410

396411
char guid[(GUID_LEN * 2) + 1];
397412
char *ptr = &guid[0];

plugins/ocp/ocp-print-stdout.c

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ static void stdout_c3_log(struct nvme_dev *dev, struct ssd_latency_monitor_log *
205205
{
206206
char ts_buf[128];
207207
int i, j;
208+
__u16 log_page_version = le16_to_cpu(log_data->log_page_version);
208209

209210
printf("-Latency Monitor/C3 Log Page Data-\n");
210211
printf(" Controller : %s\n", dev->name);
@@ -237,6 +238,17 @@ static void stdout_c3_log(struct nvme_dev *dev, struct ssd_latency_monitor_log *
237238
le16_to_cpu(log_data->active_latency_stamp_units));
238239
printf(" Static Latency Stamp Units %d\n",
239240
le16_to_cpu(log_data->static_latency_stamp_units));
241+
242+
if (log_page_version >= 0x4) {
243+
printf(" Debug Telemetry Log Size 0x");
244+
for (i = ARRAY_SIZE(log_data->latency_monitor_debug_log_size) - 1;
245+
i > 0 && (log_data->latency_monitor_debug_log_size[i] == 0); i--)
246+
;
247+
while (i >= 0)
248+
printf("%02x", log_data->latency_monitor_debug_log_size[i--]);
249+
printf("\n");
250+
}
251+
240252
printf(" Debug Log Trigger Enable %d\n",
241253
le16_to_cpu(log_data->debug_log_trigger_enable));
242254
printf(" Debug Log Measured Latency %d\n",
@@ -253,8 +265,7 @@ static void stdout_c3_log(struct nvme_dev *dev, struct ssd_latency_monitor_log *
253265
le16_to_cpu(log_data->debug_log_counter_trigger));
254266
printf(" Debug Log Stamp Units %d\n",
255267
le16_to_cpu(log_data->debug_log_stamp_units));
256-
printf(" Log Page Version %d\n",
257-
le16_to_cpu(log_data->log_page_version));
268+
printf(" Log Page Version %d\n", log_page_version);
258269

259270
char guid[(GUID_LEN * 2) + 1];
260271
char *ptr = &guid[0];

0 commit comments

Comments
 (0)