glebius [Fri, 11 Feb 2005 20:53:41 +0000 (20:53 +0000)]
Packets from ipfw come with IP header in host byte order. Netgraph works
with net byte order. Change byte order to net in ng_ipfw_input(), change
byte order to host before ip_output(), do not change before ip_input().
harti [Fri, 11 Feb 2005 17:03:18 +0000 (17:03 +0000)]
Stylistic fixes: push variable into a local context (this part is going
to be split out into a function soon). Also there is no need to write
back the colon that we have NUL-ed - the string is going to be freed
anyway.
rwatson [Fri, 11 Feb 2005 15:17:57 +0000 (15:17 +0000)]
Add a bit more caveat text about MUTEX_PROFILING -- try to avoid using it
with other profiling and debugging options, such as INVARIANTS, WITNESS,
kernel profiling, etc. They all interfere with each other nastily and
will generate fairly useless results.
sobomax [Fri, 11 Feb 2005 14:02:42 +0000 (14:02 +0000)]
Add SIGTHR (32) into list of signals permitted to be delivered to the
suid application. The problem is that Linux applications using old Linux
threads (pre-NPTL) use signal 32 (linux SIGRTMIN) for communication between
thread-processes. If such an linux application is installed suid or sgid
and security.bsd.conservative_signals=1 (default), then permission will be
denied to send such a signal and the application will freeze.
I believe the same will be true for native applications that use libthr,
since libthr uses SIGTHR for implementing conditional variables.
imp [Fri, 11 Feb 2005 06:02:27 +0000 (06:02 +0000)]
Eliminate the ED_VENDOR_{PCCARD,LINKSYS} types. These cards really
are NOVELL NE2000 with just a tiny quirk that's non vendor specific.
Instead, use the chip_type of DL100XX instead. This is more inline
with how the AX88190 support was added, and seems a little cleaner.
imp [Fri, 11 Feb 2005 03:56:13 +0000 (03:56 +0000)]
Skip PNP probes. If there are isapnp or pnpbios instances of this driver,
then we can support them later. This keeps the pbio probe from claiming
lots of otherwise unused pnpbios devices on my laptop.
mlaier [Fri, 11 Feb 2005 01:05:52 +0000 (01:05 +0000)]
Adjust TX threshold on every TX underrun. Some supported cards (8139-based)
can retransmit on TX underrun and set TOK in addition to TUND. Also add a
check to prevent overflow of the addressable threshold.
This fixes some reports of rl(4) slowness, believed to be related to ALTQ
before.
iedowse [Fri, 11 Feb 2005 00:14:00 +0000 (00:14 +0000)]
When processing a timeout() callout and returning it to the free
list, set `curr_callout' to NULL. This ensures that we won't attempt
to cancel the current callout if the original callout structure
gets recycled while we wait to acquire Giant.
This is reported to fix an intermittent syscons problem that was
introduced by revision 1.96.
imp [Thu, 10 Feb 2005 23:48:13 +0000 (23:48 +0000)]
Move enable/disable 16bit access routines into if_ed. Slightly
pessmize the error recover path through edintr by calling these
functions, rather than expanding it inline. This error path already
does a lot in it, so an extra function call will be lost in the noise.
It also happens rarely.
bmilekic [Thu, 10 Feb 2005 22:36:05 +0000 (22:36 +0000)]
Implement support for buffers larger than PAGE_SIZE in MemGuard. Adds
a little bit of complexity but performance requirements lacking (this is
a debugging allocator after all), it's really not too bad (still
only 317 lines).
Also add an additional check to help catch really weird 3-threads-involved
races: make memguard_free() write to the first page handed back, always,
before it does anything else.
Note that there is still a problem in VM+PMAP (specifically with
vm_map_protect) w.r.t. MemGuard uses it, but this will be fixed shortly
and this change stands on its own.
julian [Thu, 10 Feb 2005 22:26:28 +0000 (22:26 +0000)]
Take into account that Pinnacle screwed up their PCI ID in the beginning..
Older cards have it reversed.
Also, use some already defined values instead of magic numbers.
bmilekic [Thu, 10 Feb 2005 22:23:02 +0000 (22:23 +0000)]
Optimize the way reference counting is performed with Mbufs. We
do not need to perform an extra memory fetch in the Packet (Mbuf+Cluster)
constructor to initialize the reference counter anymore. The reference
counts are located in a separate memory region (in the slab header,
because this zone is UMA_ZONE_REFCNT), so the memory fetch resulted very
often in a cache miss. Additionally, and perhaps more significantly,
optimize the free mbuf+cluster (packet) case, which is very common, to
no longer require an atomic operation on free (to verify the reference
counter) if the reference on the cluster has never been increased (also
very common). Reduces an atomic on mbuf free on average.
Original patch submitted by: Gerrit Nagelhout <gnagelhout@sandvine.com>
vkashyap [Thu, 10 Feb 2005 18:07:33 +0000 (18:07 +0000)]
1. Revert back to the way the older driver handled XPT_PATH_INQ. This seems to
fix the problem with device discovery seen by some people.
2. Change to make 3ware CLI/3DM work on amd64.
3. Fix a potential problem that could cause the driver to do strlen(NULL) when
using older firmware.
sam [Thu, 10 Feb 2005 17:00:48 +0000 (17:00 +0000)]
rev 1.19 fixed wpa supplicant but broke wpa authenticator; when operating
as an authenticator need to always check for the unicast key in the node
(as was the case before)
harti [Thu, 10 Feb 2005 17:00:16 +0000 (17:00 +0000)]
Mostly stylistic nits in preparation for splitting up Var_Parse:
use a more consistent style with regard to *str and str[0];
simplify code by introducing a temporary variable;
shift a break around and add braces where appropriate.
sam [Thu, 10 Feb 2005 16:59:04 +0000 (16:59 +0000)]
propagate state kept in the bss node when re-creating the node
on state transitions; this is a stopgap measure, need to rethink
how we do management of this state
harti [Thu, 10 Feb 2005 14:50:34 +0000 (14:50 +0000)]
Style nits:
Move some assignments nearer to where they actually used. Convert a loop
from a for() to a while() to make it clearer and add braces to the long
body of it. Split assignment from variable declaration.
imp [Thu, 10 Feb 2005 06:09:03 +0000 (06:09 +0000)]
Extricate probing of the gwether card (Gateway AT) from the middle of
probing the novell ne[12]000 cards. It should be its own thing, ala
how we do the dl100xx support doing its own thing at the right time.
For the moment, it is just a function, which makes the mainline of the
generic probe easier to follow.
Also, correct a couple of comments that looked wrong.
# there may be a bug in setting up gwether, in that we set
# sc->rec_page_stop based on memsize, rather than sc->mem_size, so if
# these two are different, then the rec_page_stop will be wrong. I'm
# hesitant to fix it without real hardware to test with. Since
# gwether isn't in the hardware list of the man page nor in the commit
# messages, it is hard to know for sure.
imp [Thu, 10 Feb 2005 05:34:25 +0000 (05:34 +0000)]
Remove an ifdef that's been here for a long time. So long, in fact,
that it references a function parameter that's not been passed in for
more than 4 years.
jeff [Wed, 9 Feb 2005 23:05:20 +0000 (23:05 +0000)]
- In the softupdates case for ffs_truncate() we use vinvalbuf() to
invalidate pending io and dependencies. However, vinvalbuf() rightfully
does not call vnode_pager_setsize() for us. We must do this here. This
could potentially have caused numerous kinds of bugs, but it was
specifically causing msync() deadlocks because msync() was writing
flushing pages that should not have been valid.
Sponsored by: Isilon Systems, Inc.
Reported by: kkenn