X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Ftimeval.c;h=84c90f36ce09df0247bf1b77e0904ed8fdbaaf81;hb=219c9a73dc5bdff5c1350cc1b9cc10e405fefed2;hp=b95d1f42551e7c3e353aac9f5a6d3b89c7635834;hpb=5136ce492c414f377f7be9ae32b259abb9f76580;p=openvswitch diff --git a/lib/timeval.c b/lib/timeval.c index b95d1f42..84c90f36 100644 --- a/lib/timeval.c +++ b/lib/timeval.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 2010 Nicira Networks. + * Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,7 +29,7 @@ #include "util.h" #include "vlog.h" -VLOG_DEFINE_THIS_MODULE(timeval) +VLOG_DEFINE_THIS_MODULE(timeval); /* The clock to use for measuring time intervals. This is CLOCK_MONOTONIC by * preference, but on systems that don't have a monotonic clock we fall back @@ -409,8 +409,9 @@ log_poll_interval(long long int last_wakeup, const struct rusage *last_rusage) now = time_msec(); interval = MIN(10000, now - last_wakeup) << 4; - /* Warn if we took too much time between polls. */ - if (n_samples > 10 && interval > mean_interval * 8) { + /* Warn if we took too much time between polls: at least 50 ms and at least + * 8X the mean interval. */ + if (n_samples > 10 && interval > mean_interval * 8 && interval > 50 * 16) { struct rusage rusage; getrusage(RUSAGE_SELF, &rusage); @@ -441,9 +442,9 @@ log_poll_interval(long long int last_wakeup, const struct rusage *last_rusage) rusage.ru_nivcsw - last_rusage->ru_nivcsw); } - /* Care should be taken in the value chosen for logging. Depending - * on the configuration, syslog can write changes synchronously, - * which can cause the coverage messages to take longer to log + /* Care should be taken in the value chosen for logging. Depending + * on the configuration, syslog can write changes synchronously, + * which can cause the coverage messages to take longer to log * than the processing delay that triggered it. */ coverage_log(VLL_INFO, true); }