| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
and speed up data transfer by nearly a factor of 2.
Approved by: marcel (mentor)
|
|
|
|
|
|
|
| |
disabled if one (or more) of the member interfaces does not support it. Always
turn off LRO since we can not bridge a combined frame.
Tested by: Stefan Lambrev
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
generating an RTM_MISS for every IP packet forwarded making user space
routing daemons unhappy.
PR: kern/123621, kern/124540, kern/122338
Reported by: Paul <paul gtcomm.net>, Mike Tancsa <mike sentex.net> on net@
Tested by: Paul and Mike
Reviewed by: andre
MFC after: 3 days
|
|
|
|
|
|
| |
code is believed to be MPSAFE, and leaving aside the IPv6 route cache in
forwarding, Giant appears not to adequately synchronize the data structures
in the input or forwarding paths.
|
|
|
|
| |
Obtained from: vimage
|
| |
|
|
|
|
|
|
| |
ceiling as a fraction of the kernel map's size rather than an absolute
quantity. Thus, scaling of the kmem map's size will be automatic with
changes to the kernel map's size.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
datagram-only protocols, such as UDP. This version removes use of
sblock(), which is not required due to an inability to interlace data
improperly with datagrams, as well as avoiding some of the larger loops
and state management that don't apply on datagram sockets.
This is experimental code, so hook it up only for UDPv4 for testing; if
there are problems we may need to revise it or turn it off by default,
but it offers *significant* performance improvements for threaded UDP
applications such as BIND9, nsd, and memcached using UDP.
Tested by: kris, ps
|
|
|
|
|
|
| |
there still being some well-known races in mld6 and nd6, running with
Giant over the netisr handler provides little or not additional
synchronization that might cause mld6 and nd6 to behave better.
|
|
|
|
|
|
|
|
|
|
| |
already commited but with a wrong msleep variant and then
backed out. Note that this changes the semantic a little
as msleep_spin does not let us to specify priority after
wakeup.
Approved by: wkoszek, cognet
Approved by: kib (mentor)
|
|
|
|
|
|
|
| |
Disable advanced link-down power saving in phy reset.
Reported by: nork
Tested by: nork
|
|
|
|
|
| |
Reported by: nork
Tested by: nork
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ATM Tx/Rx checksum offload is supported but TSO and jumbo frame is
not yet supported. Because these newer controllers use different
descriptor formats, a flag RL_FLAG_DESCV2 flag was introduced to
handle that case in Tx/Rx handler. Also newer controllers seems to
require to not touch 'enable Tx/Rx bit' in RL_CPLUS_CMD register
so don't blindly try to set that bits.
Note, it seems that there is still power-saving related issue where
driver fails to attach PHY. Rebooting seems to fix that issue but
number of required reboots varys.
Many thanks to users that helped during developement. I really
appreciate their patient and test/feedbacks.
|
|
|
|
|
| |
diagnose revision specific issues in future. Also add 0x to notify
that the revision number is in hex form.
|
| |
|
|
|
|
|
| |
attached. This fixes NULL pointer dereference when polling(9) is
active and unsupported hardware is detected in device attach.
|
|
|
|
| |
reintialization.
|
|
|
|
|
|
|
|
|
| |
a dedicated flag that represents controller capabilities/events.
This will simplify many part of code that requires different
workaround for each controller revisions and will enhance
readability.
While I'm here move PHY wakeup code up before mii_phy_probe() which
seems to help to wake PHY in some cases.
|
| |
|
|
|
|
| |
mapping fails fall back to traditional IO space access.
|
|
|
|
| |
instead of hardcoded value.
|
|
|
|
|
|
|
|
| |
RL_TXCFG register to identify a device in device probe. Reflect the
fact by modifing device description with general ethernet
controller family.
Note, rl_basetype in struct rl_type is not used and the more
detailed information is provided with rl_hwrev structure.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we reused the space in the request buffer after the request
header to hold config pages during a transaction. This does not work when
reading large pages however. Also, we were already malloc'ing a buffer to
do a copyin/copyout w/o holding locks that was then copied into/out of the
request buffer. Instead, go ahead and use bus dma to alloc a buffer for
each config page request (and RAID actions that have an associated
ActionSGE). This results in fewer data copies and allows for larger sized
requests. For now the maximum size of a request is arbitrarily limited to
16 MB.
MFC after: 2 weeks
|
|
|
|
|
|
| |
handler.
MFC after: 2 weeks
|
|
|
|
|
| |
Found by: CScout
MFC after: 2 weeks
|
|
|
|
| |
MFC after: 1 week
|
|
|
|
|
|
|
|
|
| |
locally configured. This is more in line with the behaviour of other popular
bridging implementations and makes bridges more predictable after reboots for
example.
Reviewed by: thompsa
MFC after: 1 week
|
|
|
|
|
|
| |
smbfs_hash_unlock().
MFC after: 3 days
|
|
|
|
| |
MFC after: 1 month.
|
|
|
|
|
|
|
| |
locking to cover full setup of socket upcalls; remove XXX about
locking.
MFC after: 3 weeks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
rather than write locking: while we need to maintain a valid reference
to the inpcb and fix its state, no protocol layer state is modified
during an IPv4 UDP receive -- there are only changes at the socket
layer, which is separately protected by socket locking.
While parallel concurrent receive on a single UDP socket is currently
relatively unusual, introducing read locking in the transmit path,
allowing concurrent receive and transmit, will significantly improve
performance for loads such as BIND, memcached, etc.
MFC after: 2 months
Tested by: gnn, kris, ps
|
|
|
|
| |
Reviewed by: ivoras
|
|
|
|
| |
SBx00 PCI to PCI Bridge which causes problems.
|
|
|
|
| |
http://lists.freebsd.org/pipermail/freebsd-amd64/2005-July/005578.html
|
|
|
|
| |
turned in order to change the size of the kernel virtual address space.
|
|
|
|
|
|
|
| |
in practice, the error (currently) makes no difference because the computation
performed by KVADDR() hides the error. This revision fixes the error.
Also, eliminate a (now) unused definition.
|
|
|
|
|
|
|
| |
maximum size of the kmem map can be greater than 4GB, there is little point
in making the kernel virtual address space larger than 6GB.
Tested by: kris@
|
|
|
|
| |
the end of the function we never return an error.
|
|
|
|
|
|
| |
allowed and replace the suser() call. Do not allow it in jails.
Reviewed by: rwatson
|
|
|
|
|
|
|
|
|
| |
Now that the pseudo-interface cloner has an internal list of instances,
there is no need to create a softc. The softc only contains a pointer to
the ifp, which means there is no valid reason to keep it. While there,
remove the corresponding malloc-pool.
Approved by: philip (mentor)
|
|
|
|
|
|
|
|
| |
* Include ip6_var.h for ip6stat.
* Use the correct name under ip6stat: `ip6s_cantforward' instead
of its IPv4 counterpart.
MFC after: 10 days
|
|
|
|
| |
Pointy hat to: julian
|
| |
|
| |
|
|
|
|
| |
Obtained from: vimage tree
|
|
|
|
|
|
|
| |
They are static so it was not a problem 'per se' but it was confusing to
the reader.
Obtained from: vimage tree
|
|
|
|
| |
MFC after: 1 day
|
|
|
|
| |
Approved by: imp (mentor, implicit)
|