powerpc/perf/hv-24x7: Minor improvements
authorThiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
Thu, 29 Jun 2017 21:55:36 +0000 (18:55 -0300)
committerMichael Ellerman <mpe@ellerman.id.au>
Sun, 2 Jul 2017 10:40:32 +0000 (20:40 +1000)
There's an H24x7_DATA_BUFFER_SIZE constant, so use it in init_24x7_request.

There's also an HV_PERF_DOMAIN_MAX constant, so use it in
h_24x7_event_init. This makes the comment above the check redundant,
so remove it.

In add_event_to_24x7_request, a statement is terminated with a comma
instead of a semicolon. Fix it.

In hv-24x7.h, improve comments in struct hv_24x7_result.

Signed-off-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/perf/hv-24x7.c
arch/powerpc/perf/hv-24x7.h

index 7e47dcdea62a309616357378928e5f8dbdc3f40f..7771c70afa48f218a13edca80485d91eec6ea1e9 100644 (file)
@@ -1049,8 +1049,8 @@ static void init_24x7_request(struct hv_24x7_request_buffer *request_buffer,
                              struct hv_24x7_data_result_buffer *result_buffer)
 {
 
-       memset(request_buffer, 0, 4096);
-       memset(result_buffer, 0, 4096);
+       memset(request_buffer, 0, H24x7_DATA_BUFFER_SIZE);
+       memset(result_buffer, 0, H24x7_DATA_BUFFER_SIZE);
 
        request_buffer->interface_version = HV_24X7_IF_VERSION_CURRENT;
        /* memset above set request_buffer->num_requests to 0 */
@@ -1126,7 +1126,7 @@ static int add_event_to_24x7_request(struct perf_event *event,
        req->performance_domain = event_get_domain(event);
        req->data_size = cpu_to_be16(8);
        req->data_offset = cpu_to_be32(event_get_offset(event));
-       req->starting_lpar_ix = cpu_to_be16(event_get_lpar(event)),
+       req->starting_lpar_ix = cpu_to_be16(event_get_lpar(event));
        req->max_num_lpars = cpu_to_be16(1);
        req->starting_ix = cpu_to_be16(idx);
        req->max_ix = cpu_to_be16(1);
@@ -1218,9 +1218,8 @@ static int h_24x7_event_init(struct perf_event *event)
                return -EINVAL;
        }
 
-       /* Domains above 6 are invalid */
        domain = event_get_domain(event);
-       if (domain > 6) {
+       if (domain >= HV_PERF_DOMAIN_MAX) {
                pr_devel("invalid domain %d\n", domain);
                return -EINVAL;
        }
index 634ef4082cdcec6973eb8ebbcf235f02e19bc6c8..b95909400b2a2ae6f197ef214273b488f999bde0 100644 (file)
@@ -71,6 +71,10 @@ struct hv_24x7_result_element {
 } __packed;
 
 struct hv_24x7_result {
+       /*
+        * The index of the 24x7 Request Structure in the 24x7 Request Buffer
+        * used to request this result.
+        */
        __u8 result_ix;
 
        /*
@@ -81,7 +85,12 @@ struct hv_24x7_result {
        __u8 results_complete;
        __be16 num_elements_returned;
 
-       /* This is a copy of @data_size from the corresponding hv_24x7_request */
+       /*
+        * This is a copy of @data_size from the corresponding hv_24x7_request
+        *
+        * Warning: to obtain the size of each element in @elements you have
+        * to add the size of the other members of the result_element struct.
+        */
        __be16 result_element_data_size;
        __u8 reserved[0x2];