lstewart bf49d6a9f9 - Rework the underlying ALQ storage to be a circular buffer, which amongst other
things allows variable length messages to be easily supported.

- Extend KPI with alq_writen() and alq_getn() to support variable length
  messages, which is enabled at ALQ creation time depending on the
  arguments passed to alq_open(). Also add variants of alq_open() and
  alq_post() that accept a flags argument. The KPI is still fully
  backwards compatible and shouldn't require any change in ALQ consumers
  unless they wish to utilise the new features.

- Introduce the ALQ_NOACTIVATE and ALQ_ORDERED flags to allow ALQ consumers
  to have more control over IO scheduling and resource acquisition
  respectively.

- Strengthen invariants checking.

- Document ALQ changes in ALQ(9) man page.

Sponsored by:	FreeBSD Foundation
Reviewed by:	gnn, jeff, rpaulo, rwatson
MFC after:	1 month
2010-04-26 13:48:22 +00:00
..
2005-11-18 10:56:28 +00:00
2006-12-13 06:27:20 +00:00
2010-02-27 01:17:44 +00:00
2010-02-27 01:17:44 +00:00
2006-02-13 21:34:19 +00:00
2005-01-21 08:36:40 +00:00
2009-10-16 12:32:07 +00:00
2005-01-21 08:36:40 +00:00
2008-04-29 08:16:05 +00:00
2008-03-07 17:02:34 +00:00
2005-02-13 22:25:33 +00:00
2006-12-14 14:33:13 +00:00
2005-10-05 19:48:21 +00:00
2009-01-03 10:37:38 +00:00
2006-09-12 15:48:22 +00:00
2005-11-18 10:56:28 +00:00
2006-09-30 17:09:59 +00:00
2010-02-27 01:17:44 +00:00
2005-02-13 22:25:33 +00:00
2009-02-22 13:38:16 +00:00
2005-01-21 08:36:40 +00:00
2005-01-21 08:36:40 +00:00
2005-02-16 22:24:15 +00:00
2005-01-21 08:36:40 +00:00
2007-01-27 23:06:00 +00:00
2010-03-29 17:39:38 +00:00
2010-03-29 17:39:38 +00:00
2010-03-29 17:39:38 +00:00
2010-03-29 17:39:38 +00:00
2010-03-29 17:39:38 +00:00
2009-01-08 21:29:40 +00:00
2005-02-13 22:25:33 +00:00
2010-02-15 17:41:59 +00:00
2010-01-15 16:01:22 +00:00
2010-01-19 20:36:15 +00:00
2008-03-25 15:44:49 +00:00
2008-01-12 21:07:03 +00:00
2006-09-18 15:24:20 +00:00
2005-01-21 08:36:40 +00:00
2010-02-06 14:10:45 +00:00
2010-01-15 16:01:22 +00:00
2006-09-18 15:24:20 +00:00
2005-01-21 08:36:40 +00:00
2006-04-03 21:17:36 +00:00
2008-11-05 15:07:42 +00:00
2009-05-17 21:28:37 +00:00
2010-04-07 19:13:31 +00:00
2010-01-16 14:31:01 +00:00
2005-02-09 18:07:17 +00:00
2006-12-14 14:33:13 +00:00
2008-02-26 20:11:37 +00:00
2008-02-26 20:25:01 +00:00
2006-12-14 14:33:13 +00:00
2006-02-13 21:34:19 +00:00
2007-03-28 21:21:22 +00:00