On 2015/10/22 14:21, Alexei Starovoitov wrote:
On 10/21/15 10:31 PM, Wangnan (F) wrote:
+    if ((attr->type != PERF_TYPE_RAW &&
+         !(attr->type == PERF_TYPE_SOFTWARE &&
+           attr->config == PERF_COUNT_SW_BPF_OUTPUT) &&
+         attr->type != PERF_TYPE_HARDWARE) ||
+        attr->inherit) {

This 'if' statement is so complex. What about using a inline function
instead?

hmm. don't see how inline function will help readability.


For example (not tested):

static inline bool perf_event_can_insert_to_map(struct perf_event_attr *attr)
 {
    /* is inherit? */
    if (attr->inherit)
        return false;

    /* is software event? */
    if (attr->type == PERF_TYPE_SOFTWARE)
        if (attr->config == PERF_COUNT_SW_BPF_OUTPUT)
            return true;
        else
            return false;

    /* Comment... */
    if (attr->type == PERF_TYPE_RAW)
        return true;
    if (attr->type == PERF_TYPE_HARDWARE)
        return true;
    return false;
 }

 ...
 if (!perf_event_can_insert_to_map(attr))
    ....

Do you think redability is improved?

Thank you.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to