X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fcoverage.c;h=8a9d0ea69f5243cfb1839d64218ce30adff93153;hb=0cc96e48ab2fc573c3b7b69fe5a034bb29dde578;hp=ba5d68d84751512e69063e4fc31361f388e9fe48;hpb=e775da1437a9532765046baffdbc22d5252c0cc7;p=openvswitch diff --git a/lib/coverage.c b/lib/coverage.c index ba5d68d8..8a9d0ea6 100644 --- a/lib/coverage.c +++ b/lib/coverage.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Nicira Networks. + * Copyright (c) 2009, 2010 Nicira Networks. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,14 +23,15 @@ #include "hash.h" #include "unixctl.h" #include "util.h" - -#define THIS_MODULE VLM_coverage #include "vlog.h" +VLOG_DEFINE_THIS_MODULE(coverage) + static unsigned int epoch; static void -coverage_unixctl_log(struct unixctl_conn *conn, const char *args UNUSED) +coverage_unixctl_log(struct unixctl_conn *conn, const char *args OVS_UNUSED, + void *aux OVS_UNUSED) { coverage_log(VLL_WARN, false); unixctl_command_reply(conn, 200, NULL); @@ -39,7 +40,7 @@ coverage_unixctl_log(struct unixctl_conn *conn, const char *args UNUSED) void coverage_init(void) { - unixctl_command_register("coverage/log", coverage_unixctl_log); + unixctl_command_register("coverage/log", coverage_unixctl_log, NULL); } /* Sorts coverage counters in descending order by count, within equal counts @@ -108,7 +109,7 @@ coverage_hit(uint32_t hash) unsigned int word_mask = 1u << (bit_index % BITS_PER_WORD); if (hit[word_index] & word_mask) { - return true; + return true; } else { hit[word_index] |= word_mask; return false; @@ -122,7 +123,10 @@ coverage_log_counter(enum vlog_level level, const struct coverage_counter *c) } /* Logs the coverage counters at the given vlog 'level'. If - * 'suppress_dups' is true, then duplicate events are not displayed. */ + * 'suppress_dups' is true, then duplicate events are not displayed. + * Care should be taken in the value used for 'level'. Depending on the + * configuration, syslog can write changes synchronously, which can + * cause the coverage messages to take several seconds to write. */ void coverage_log(enum vlog_level level, bool suppress_dups) {