| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
cpu. (This is for either userland apps running in i386 mode on an ia64
OS, or when the cpu is in i386 legacy mode running an i386 OS).
|
|
|
|
|
|
|
|
|
| |
address in icmp_reflect().
- Two new "struct icmpstat" members: icps_badaddr and icps_noroute.
PR: kern/31575
Obtained from: BSD/OS
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
| |
pointless and would be inadequate for SMP systems. We will rely on the
VM system's locks to serialise this for now.
* Change pmap_remove() so that if the range being removed is larger than
the number of pages mapped by the pmap, we iterate over the currently
mapped pages instead of over the virtual address range. This should
make a difference when removing large virtual address ranges from an
address space.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mbuf allocation fails, and fix (i hope) a couple of style bugs.
I believe these printf() are extremely dangerous because now they can
occur on every incoming packet and are not rate limited. They were
meant to warn the sysadmin about lack of resources, but now they
can become a nice way to panic your system under load.
Other drivers (e.g. the fxp driver) have nothing like this.
There is a pending discussion on putting this kind of warnings
elsewhere, and I hope we can fix this soon.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
underlying unaligned bcopy) on incoming packets that are already
available (albeit unaligned) in a buffer.
The performance improvement varies, depending on CPU and memory
speed, but can be quite large especially on slow CPUs. I have seen
over 50% increase on forwarding speed on the sis driver for the
486/133 (embedded systems), which does exactly the same thing.
The behaviour is controlled by a sysctl variable, hw.dc_quick which
defaults to 1. Set it to 0 to restore the old behaviour.
After running a few experiments (in userland, though) I am convinced
that doing the m_devget() is detrimental to performance in almost
all cases.
Even if your CPU has degraded performance with misaligned data,
the bcopy() in the driver has the same overhead due to misaligment
as the one that you save in the uiomove(), plus you do one extra
copy and pollute the cache.
But more often than not, you do not even have to touch the payload,
e.g. when you are forwarding packets, and even in the often-cited
case of NFS, you often end up passing a pointer to the payload to
the disk controller.
In any case, you can play with the sysctl variable to toggle between
the two behaviours, and see if it makes a difference.
MFC-after: 3 days
|
|
|
|
| |
tested by: Martijn Pronk <martijn@smartie.xs4all.nl>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
readability.
o Conditionalize only the SYSCTL definitions for the regression
tree, not the variables itself, decreasing the number of #ifdef
REGRESSIONs scattered in kern_mib.c, and making the code more
readable.
Sponsored by: DARPA, NAI Labs
|
|
|
|
|
|
|
|
| |
to be included in the meta information that is associated with
incoming and outgoing packets.
Reviewed by: julian
MFC after: 1 week
|
| |
|
|
|
|
|
|
| |
PR: kern/21809
Submitted by: <mbendiks@eunet.no>
Reviewed by: rwatson
|
|
|
|
| |
read.
|
| |
|
|
|
|
|
| |
PR: kern/21809
Submitted by: <mbendiks@eunet.no>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
have alignment problems.
On small boxes (e.g. the net4501 from Soekris, featuring a 486/133)
this provides huge performance benefits: the peak forwarding rate
with avg.sized packets goes up by 50-70% because of this change
alone. Faster CPUs might benefit less from this change, but in any
case the CPU has better things to do than waste time on useless
memory-to-memory copies.
Several drivers (for Tulip-like cards) might benefit from a similar
change.
Right now the new behaviour is controlled by a sysctl variable,
hw.sis_quick which defaults to 1 (on), you can set it to 0 to
reintroduce the old behaviour (and compare the results). The
variable is only there to show how much you can gain with this
change, it will go away soon.
Also, slightly simplify the code to initialize the ring buffers,
and remove a couple of dangerous printf's which could trigger on
any packet in case of mbuf shortage.
MFC-after: 3 days
|
|
|
|
|
|
| |
PR: kern/32351
Submitted by: Jonathan Mini <mini@haikugeek.com>
MFC after: 1 week
|
|
|
|
| |
Submitted by: "Ilmar S. Habibulin" <ilmar@watson.org>
|
|
|
|
| |
Submitted by: "Ilmar S. Habibulin" <ilmar@watson.org>
|
|
|
|
| |
We need to call AcpiEnterSleepStatePrep() before AcpiEnterSleepState().
|
|
|
|
| |
Obtained from: NetBSD (ichiro)
|
| |
|
|
|
|
|
|
|
| |
1.147 (my changes to sync to FreeBSD's file)
1.148 Buffalo AirStation CFtytpe WLAN Card (ichiro)
1.149 IBM SCSI PCMCIA (yamt)
1.150 <restore 1.148 lost in 1.149> (enami)
|
| |
|
|
|
|
|
| |
Add a fix for a minor error in the PCI routing table creation handler
where the correct size for the buffer is not returned.
|
|\
| |
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
exceeds MAXSHELLCMDLEN to avoid secondary /bin/sh execution.
Update execve man page to reflect change.
Increase MAXSHELLCMDLEN to a slightly more meaningful value.
PR: kern/32106
Submitted by: b@etek.chalmers.se
Reviewed by: bsd
MFC after: 2 weeks
|
| |
| |
| |
| | |
Found by: jkb (Yahoo OS troublemaker)
|
| | |
|
| |
| |
| |
| | |
constraints.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
RAID controllers (5300, 532, 5i, etc.)
Thanks to Compaq and Yahoo! for support during the development of this
driver.
MFC after: 1 week
|
| |
| |
| |
| | |
port FreeBSD to Atari machines any time soon.
|
| |
| |
| |
| | |
or comconsole.
|
| |
| |
| |
| |
| |
| |
| | |
(fcp) that's already defined in the outer block and isn't used
anywhere else. This silences -Wunused.
Reviewed by: md5(1)
|
| |
| |
| |
| | |
options in handling MOD_{UN,}LOAD (they weren't very useful, anyway).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
received on an interface without an IP address, try to find a
non-loopback AF_INET address to use. If that fails, drop it.
Previously, we used the address at the top of the in_ifaddrhead list,
which didn't make much sense, and would cause a panic if there were no
AF_INET addresses configured on the system.
PR: 29337, 30524
Reviewed by: ru, jlemon
Obtained from: NetBSD
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
respects locks. Before SMPng, one was able to call psignal()
using the "call" command, but this is no longer possible because it
does not respect locks by itself. This is very useful when one has
gotten their machine into a state where it is impossible to spawn
ps/kill or su to root.
In this case, respecting locks essentially means trying to aquire the
proc lock before calling psignal(). We can't block in the debugger,
so if trylock fails, the operation fails. This also means that we
can't use pfind(), since that will attempt to lock the process for us.
Reviewed by: jhb
|
| |
| |
| |
| |
| | |
syncache rely on 'struct route' being defined. This fixes the
LINT build some.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
idle and the driver would not detect the event, requiring userland
to cycle the interface to bring it up again.
The fix consists in adding SIS_IMR_RX_IDLE to the interrupt mask and
add a command in sis_intr() to restart the receiver when this happens.
While at it, make the test of status bits more efficient.
|
| |
| |
| |
| |
| |
| |
| | |
This fixes the VT switching problem with the i810 X driver.
Explained by: David Dawes <dawes@XFree86.Org>
Reviewed by: dfr
|
| |
| |
| |
| |
| |
| |
| | |
the memory was overridden when the key length was less than 16 bytes.
Obtained from: KAME
MFC after: 1 week
|
| |
| |
| |
| |
| | |
Revert the module version bumps; they're quite pointless as long as the
only pseudofs consumer is linprocfs, which is in the tree.
|
| |
| |
| |
| | |
fixes route breakage due to uncleared gabage on my box.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
for passive mode data connections (PASV/EPSV -> 227/229). Well,
the actual punching happens a bit later, when the aliasing link
becomes fully specified.
Prodded by: Danny Carroll <dannycarroll@hotmail.com>
MFC after: 1 week
|
| |
| |
| |
| |
| | |
itc.x instructions to attempt to avoid the little flurry of TLB exceptions
for handling access, dirty etc.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The problem was that the ISO9660 code wasn't opening the device prior to
issuing ioctl calls. In particular, the device must be open before
iso_get_ssector() is called in iso_mountroot().
If the device isn't opened first, the disk layer blows up due to an
uninitialized variable.
The solution was to open the device, call iso_get_ssector() and then close
it again.
The ATAPI CDROM driver doesn't have this problem because it doesn't use the
disk layer, and evidently doesn't mind if someone issues an ioctl without
first issuing an open call.
Thanks to phk for pointing me at the source of this problem.
Tested by: dirk
MFC after: 1 week
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is legal to have a device with device type 0x1f, that just means
that the device is of unknown type. Instead, only check the peripheral
qualifier when deciding whether or not to reject a device based on its
inquiry information.
Tested by: julian
MFC after: 3 weeks
|
| | |
|
| | |
|