stress: Remove essentially unused library.

The "stress" library was introduced years ago.  We intended at the time to
start using it to provoke errors in testing, to make sure that Open vSwitch
was resilient against those errors.  The intention was good, but there were
few actual implementations of stress options, and the testing never
materialized.

Rather than adapt the stress library for thread safety, this seems like a
good opportunity to remove it, so this commit does so.

Signed-off-by: Ben Pfaff <blp@nicira.com>
netlink-socket: Simplify use of transactions and dumps.

This disentangles "struct nl_dump" from "struct nl_sock", clearing the way
to make the use of either one thread-safe in an obviously correct manner.

Signed-off-by: Ben Pfaff <blp@nicira.com>
netlink-socket: Make thread-safe.

The uses of vlog in this module are not thread-safe, because vlog itself
is not yet thread-safe.

Signed-off-by: Ben Pfaff <blp@nicira.com>
timeval: Make reading the current time thread-safe.

Signed-off-by: Ben Pfaff <blp@nicira.com>
timeval: Make CPU usage and wakeup tracking per-thread.

This should make the "timeval" module thread-safe, except for its
calls into vlog (because vlog is not yet thread-safe).

Signed-off-by: Ben Pfaff <blp@nicira.com>
poll-loop: Simplify and speed up polling.

The simplification comes from dropping support for canceling a
poll_waiter, which was a feature that was never used.  The speedup
comes from avoiding a malloc() for every call to poll_fd_wait().
(I doubt that this significantly improves performance.)

This prepares for making the polling structures per-thread in
the next commit.

Signed-off-by: Ben Pfaff <blp@nicira.com>
poll-loop: Make poll loop data structures per-thread.

Signed-off-by: Ben Pfaff <blp@nicira.com>
system-stats: Remove worker process support.

The worker process implementation isn't thread-safe and, once OVS
itself is threaded, it doesn't make much sense to have a worker
process anyway.

Signed-off-by: Ben Pfaff <blp@nicira.com>
worker: Delete library.

It had no remaining users.

Signed-off-by: Ben Pfaff <blp@nicira.com>
latch: New module for a thread-safe, signal-safe, pollable doorbell.

Signed-off-by: Ben Pfaff <blp@nicira.com>
system-stats: Move into separate thread.

Signed-off-by: Ben Pfaff <blp@nicira.com>
byteq: Make the queue size variable instead of fixed at BYTEQ_SIZE bytes.

Signed-off-by: Ben Pfaff <blp@nicira.com>
util: New macros ROUND_UP_POW2, ROUND_DOWN_POW2.

Signed-off-by: Ben Pfaff <blp@nicira.com>
async-append: New library to allow asynchronous appending to a log file.

This will be hooked into the vlog library in an upcoming commit.

Signed-off-by: Ben Pfaff <blp@nicira.com>
vlog: Use async I/O.

Signed-off-by: Ben Pfaff <blp@nicira.com>
util: Make subprogram_name thread-specific.

Signed-off-by: Ben Pfaff <blp@nicira.com>
vlog: Make vlog_should_drop() thread-safe.

Signed-off-by: Ben Pfaff <blp@nicira.com>
vlog: Make VLOG_ONCE thread-safe.

Of course, the code it calls into isn't thread-safe itself yet.

Signed-off-by: Ben Pfaff <blp@nicira.com>
vlog: Remove unused function vlog_get_log_file().

Signed-off-by: Ben Pfaff <blp@nicira.com>
vlog: Remove unused function vlog_exit().

This is harder to implement once threads are introduced.

Signed-off-by: Ben Pfaff <blp@nicira.com>