summaryrefslogtreecommitdiff
path: root/lib/coverage.c
Commit message (Collapse)AuthorAgeFilesLines
* coverage: Make the coverage counters catalog program-specific.Ben Pfaff2010-11-301-9/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now, the collection of coverage counters supported by a given OVS program was not specific to that program. That means that, for example, even though ovs-dpctl does not have anything to do with mac_learning, it still has a coverage counter for it. This is confusing, at best. This commit fixes the problem on some systems, in particular on ones that use GCC and the GNU linker. It uses the feature of the GNU linker described in its manual as: If an orphaned section's name is representable as a C identifier then the linker will automatically see PROVIDE two symbols: __start_SECNAME and __end_SECNAME, where SECNAME is the name of the section. These indicate the start address and end address of the orphaned section respectively. Systems that don't support these features retain the earlier behavior. This commit also fixes the annoyance that files that include coverage counters must be listed on COVERAGE_FILES in lib/automake.mk. This commit also fixes the annoyance that modifying any source file that includes a coverage counter caused all programs that link against libopenvswitch.a to relink, even programs that the source file was not linked into. For example, modifying ofproto/ofproto.c (which includes coverage counters) caused tests/test-aes128 to relink, even though test-aes128 does not link again ofproto.o.
* vlog: Make client supply semicolon for VLOG_DEFINE_THIS_MODULE.Ben Pfaff2010-10-291-1/+1
| | | | | It's kind of odd for VLOG_DEFINE_THIS_MODULE to supply its own semicolon, so this commit switches to the more common form.
* treewide: Remove trailing whitespaceJoe Perches2010-08-301-1/+1
| | | | | | Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Simon Horman <horms@verge.net.au> Signed-off-by: Jesse Gross <jesse@nicira.com>
* vlog: Introduce VLOG_DEFINE_THIS_MODULE for declaring vlog module in use.Ben Pfaff2010-07-211-2/+2
| | | | | | | Adding a macro to define the vlog module in use adds a level of indirection, which makes it easier to change how the vlog module must be defined. A followup commit needs to do that, so getting these widespread changes out of the way first should make that commit easier to review.
* Merge "master" into "next".Ben Pfaff2010-02-111-4/+4
|\ | | | | | | | | The main change here is the need to update all of the uses of UNUSED in the next branch to OVS_UNUSED as it is now spelled on "master".
| * Rename UNUSED macro to OVS_UNUSED to avoid naming conflict.Ben Pfaff2010-02-111-2/+2
| | | | | | | | Requested by Jean Tourrilhes <jt@hpl.hp.com>.
* | unixctl: Allow passing auxiliary data to unixctl commands.Ben Pfaff2009-10-291-2/+3
|/ | | | | This will allow users of unixctl to avoid using global variables, leading to cleaner code.
* logging: Lower logging level for coverage messages due to slow poll loopsJustin Pettit2009-09-111-1/+4
| | | | | | | | | | | | | | | | | | | | | | | By default, many OVS processes keep track of their time through a poll loop. If it takes an unusually long time (measured as some distance from the mean), the processes will log stats it has been keeping about coverage. It was doing this at level WARN. On Xen systems, syslog messages written at level INFO and higher are written to /var/log/messages synchronously. This would mean that there would be dire messages that it took a few dozen milliseconds to go through the loop, meanwhile, it would take up to 6(!) seconds writing those. Meanwhile, the process would do no other processing, which could be quite serious in the case of a process such as ovs-vswitchd. This problem was somewhat masked because the time used by this logging was not used in the calculations for determining how long it was taking to get through the loop. This commit lowers the default log level for those coverage messages to INFO. On Xen systems, it raises the default level at which messages are written to syslog to WARN. Diagnosed and fixed with the help of Ian Campbell.
* Fix unitialized variable in coverage_log()Justin Pettit2009-07-141-1/+1
| | | | | | | | | | When providing the ability to force coverage printouts to occur, some code was moved around that allowed the "hash" variable to be used unitialized. This fixes that. Thanks to Ben for pointing out the problem. Bug #1577
* Remove "coverage/clear" command due its limited useJustin Pettit2009-07-101-8/+0
| | | | | The poll loop calls coverage_clear on every pass anyway, so provide a function to call it separately is of limited value.
* Provide ability to retrieve coverage informationJustin Pettit2009-07-101-7/+32
| | | | | | | | Previously, there was no way to induce coverage information to be displayed; it would only print when the system noticed unusual delays between polling intervals. Now, production of coverage logs can be forced with "coverage/log" command in ovs-appctl. Coverage counters may be reset with "coverage/clear".
* Update primary code license to Apache 2.0.Ben Pfaff2009-06-151-10/+10
|
* Import from old repository commit 61ef2b42a9c4ba8e1600f15bb0236765edc2ad45.v0.90.0Ben Pfaff2009-07-081-0/+163