| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two new functions are provided, bit_ffs_at() and bit_ffc_at(), which allow
for efficient searching of set or cleared bits starting from any bit offset
within the bit string.
Performance is improved by operating on longs instead of bytes and using
ffsl() for searches within a long. ffsl() is a compiler builtin in both
clang and gcc for most architectures, converting what was a brute force
while loop search into a couple of instructions.
All of the bitstring(3) API continues to be contained in the header file.
Some of the functions are large enough that perhaps they should be uninlined
and moved to a library, but that is beyond the scope of this commit.
sys/sys/bitstring.h:
Convert the majority of the existing bit string implementation from
macros to inline functions.
Properly protect the implementation from inadvertant macro expansion
when included in a user's program by prefixing all private
macros/functions and local variables with '_'.
Add bit_ffs_at() and bit_ffc_at(). Implement bit_ffs() and
bit_ffc() in terms of their "at" counterparts.
Provide a kernel implementation of bit_alloc(), making the full API
usable in the kernel.
Improve code documenation.
share/man/man3/bitstring.3:
Add pre-exisiting API bit_ffc() to the synopsis.
Document new APIs.
Document the initialization state of the bit strings
allocated/declared by bit_alloc() and bit_decl().
Correct documentation for bitstr_size(). The original code comments
indicate the size is in bytes, not "elements of bitstr_t". The new
implementation follows this lead. Only hastd assumed "elements"
rather than bytes and it has been corrected.
etc/mtree/BSD.tests.dist:
tests/sys/Makefile:
tests/sys/sys/Makefile:
tests/sys/sys/bitstring.c:
Add tests for all existing and new functionality.
include/bitstring.h
Include all headers needed by sys/bitstring.h
lib/libbluetooth/bluetooth.h:
usr.sbin/bluetooth/hccontrol/le.c:
Include bitstring.h instead of sys/bitstring.h.
sbin/hastd/activemap.c:
Correct usage of bitstr_size().
sys/dev/xen/blkback/blkback.c
Use new bit_alloc.
sys/kern/subr_unit.c:
Remove hard-coded assumption that sizeof(bitstr_t) is 1. Get rid of
unrb.busy, which caches the number of bits set in unrb.map. When
INVARIANTS are disabled, nothing needs to know that information.
callapse_unr can be adapted to use bit_ffs and bit_ffc instead.
Eliminating unrb.busy saves memory, simplifies the code, and
provides a slight speedup when INVARIANTS are disabled.
sys/net/flowtable.c:
Use the new kernel implementation of bit-alloc, instead of hacking
the old libc-dependent macro.
sys/sys/param.h
Update __FreeBSD_version to indicate availability of new API
Submitted by: gibbs, asomers
Reviewed by: gibbs, ngie
MFC after: 4 weeks
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D6004
|
|
|
|
|
|
| |
User-visible strings.
MFC after: 2 weeks
|
|
|
|
| |
Submitted by: issei10193 (via Twitter)
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Off by default, build behaves normally.
WITH_META_MODE we get auto objdir creation, the ability to
start build from anywhere in the tree.
Still need to add real targets under targets/ to build packages.
Differential Revision: D2796
Reviewed by: brooks imp
|
| | |
|
| |\
| |/
|/| |
|
| |\ |
|
| | | |
|
| | | |
|
| |\ \ |
|
| | | | |
|
| | | | |
|
| |\ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Requested by: Simon Gerraty <sjg@juniper.net>
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Submitted by:david@catwhisker.org
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Differential Revision: D2320
Reviewed by: takawata
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
This will fix build.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
|
| |_|_|/
|/| | |
| | | |
| | | | |
Reduce overlinking
|
| |_|/
|/| |
| | |
| | |
| | | |
PR: 191174
Submitted by: Franco Fichtner <franco@lastsummer.de>
|
| |/
|/|
| |
| |
| | |
PR: misc/174625
Submitted by: Jeremy Chadwick <jdc@koitsu.org>
|
|/ |
|
| |
|
| |
|
|
|
|
|
| |
Submitted by: kan
MFC after: 1 week
|
|
|
|
|
| |
Submitted by: kan
MFC after: 1 week
|
|
|
|
|
|
|
|
| |
is more than one HCI node present
- Use errx(3) instead of err(3) if there is no HCI node present as errno
is 0 in this case and the resulting error message wouldn't make much sense
Approved by: emax (mentor)
|
|
|
|
|
|
|
|
|
| |
that the '-n' parameter is now optional
- Grammar fixes
Reviewed by: emax
Approved by: emax
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
| |
parameter optional.
- Add Read_Node_List command which prints a list of available HCI nodes,
their Netgraph IDs and connected hooks
Reviewed by: emax
Approved by: emax
MFC after: 1 week
|
|
|
|
|
|
|
|
| |
version strings up to Bluetooth 2.0
- Update manufacturer list
Approved by: emax
MFC after: 3 days
|
| |
|
| |
|
|
|
|
|
|
|
| |
class is a reserved word in C++
Submitted by: Markus Brueffer < markus AT brueffer DOT de >
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
|
| |
Update man pages to document this fact.
- Update usage messages
- Change u_intXXX to uintXXX
|
|
|
|
|
| |
them earlier. Thanks to Mike Crosland (mcrosland at xs4all.nl) for pointing
them out.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that this provokes. "Wherever possible" means "In the kernel OR NOT
C++" (implying C).
There are places where (void *) pointers are not valid, such as for
function pointers, but in the special case of (void *)0, agreement
settles on it being OK.
Most of the fixes were NULL where an integer zero was needed; many
of the fixes were NULL where ascii <nul> ('\0') was needed, and a
few were just "other".
Tested on: i386 sparc64
|
|
|
|
|
| |
Reviewed by: imp, julian, ru
Approved by: imp (mentor)
|
|
|
|
|
| |
Reviewed by: M. Warner Losh <imp@bsdimp.com>; John Hay <jhay@freebsd.org>
Approved by: M. Warner Losh <imp@bsdimp.com> (mentor)
|
|
|
|
|
|
|
| |
Bluetooth update, and fix a few more issues.
Submitted by: Maksim Yevmenkin <m_evmenkin@yahoo.com>, ru
Approved by: re (blanket)
|
|
|
|
|
| |
Submitted by: Maksim Yevmenkin <m_evmenkin@yahoo.com>
Approved by: re@
|
|
|
|
| |
especially in troff files.
|
|
|
|
| |
Approved by: re
|