#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
231587 |
|
13-Feb-2012 |
glebius |
Merge from head 226829, 230213, 230480, 230486, 230487, 231585:
r226829 in ng_base: - If KDB & NETGRAPH_DEBUG are on, print traces on discovered failed invariants. - Reduce tautology in NETGRAPH_DEBUG output.
r230213 in ng_socket: Remove some disabled NOTYET code. Probability of enabling it is low, if anyone wants, he/she can take it from svn.
r230480 in ng_base: Convert locks that protect name hash, ID hash and typelist from mutex(9) to rwlock(9) based locks.
While here remove dropping lock when processing NGM_LISTNODES, and NGM_LISTTYPES generic commands. We don't need to drop it since memory allocation is done with M_NOWAIT.
r230486 in subr_hash.c: Convert panic()s to KASSERT()s. This is an optimisation for hashdestroy() since in absence of INVARIANTS a compiler will drop the entire for() cycle.
230487, 231585 in ng_socket: Provide a findhook method for ng_socket(4). The node stores a hash with names of its hooks. It starts with size of 16, and grows when number of hooks reaches twice the current size. A failure to grow (memory is allocated with M_NOWAIT) isn't fatal, however.
I used standard hash(9) function for the hash. With 25000 hooks named in the mpd (ports/net/mpd5) manner of "b%u", the distributions is the following: 72.1% entries consist of one element, 22.1% consist of two, 5.2% consist of three and 0.6% of four.
Speedup in a synthetic test that creates 25000 hooks and then runs through a long cyclce dereferencing them in a random order is over 25 times.
The last merge was done in an ABI preserving manner, the struct ngsock is still exposed to userland (unlike in head), but its new fields are at its end and under #ifdef _KERNEL.
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
205083 |
|
12-Mar-2010 |
glebius |
Now fix functionality of 'netstat -f netgraph' that hasn't worked starting from netgraph import in 1999.
netstat(8) used pointer to node as node address, oops. That didn't work, we need the node ID in brackets to successfully address a node. We can't look into ng_node, due to inability to include netgraph/netgraph.h in userland code. So let the node make a hint for a userland, storing the node ID in its private data.
MFC after: 2 weeks
|
#
147774 |
|
05-Jul-2005 |
glebius |
In the splnet times, netgraph was functional and synchronous. Nowadays, an item may be queued and processed later. While this is OK for mbufs, this is a problem for control messages.
In the framework: - Add optional callback function pointer to an item. When item gets applied the callback is executed from ng_apply_item(). - Add new flag NG_PROGRESS. If this flag is supplied, then return EINPROGRESS instead of 0 in case if item failed to deliver synchronously and was queued. - Honor NG_PROGRESS in ng_snd_item().
In ng_socket: - When userland sends control message add callback to the item. - If ng_snd_item() returns EINPROGRESS, then sleep.
This change fixes possible races in ngctl(8) scripts.
Reviewed by: julian Approved by: re (scottl)
|
#
139823 |
|
06-Jan-2005 |
imp |
/* -> /*- for license, minor formatting changes
|
#
122481 |
|
11-Nov-2003 |
ru |
Use a single style of multiple inclusion protection for Netgraph headers.
Reviewed by: archie, harti, emax
|
#
67506 |
|
24-Oct-2000 |
julian |
Since neither archie nor I work at Whistle any more, change our email addresses to be the more usefu @freebsd.org ones so we can keep getting bug-reports. - man pages to follow..
|
#
60938 |
|
26-May-2000 |
jake |
Back out the previous change to the queue(3) interface. It was not discussed and should probably not happen.
Requested by: msmith and others
|
#
60833 |
|
23-May-2000 |
jake |
Change the way that the queue(3) structures are declared; don't assume that the type argument to *_HEAD and *_ENTRY is a struct.
Suggested by: phk Reviewed by: phk Approved by: mdodd
|
#
52919 |
|
06-Nov-1999 |
julian |
Move a structure Netstat needs back out to ng_socketvar.h (yech)
|
#
52907 |
|
05-Nov-1999 |
julian |
Re-add this till I can fix netstat to not need it.
|