alc [Sun, 25 Mar 2007 22:01:24 +0000 (22:01 +0000)]
MFC revision 1.546
Eliminate unnecessary invalidations of the entire TLB by pmap_remove().
Specifically, on mappings with PG_G set pmap_remove() not only performs
the necessary per-page invlpg invalidations but also performs an
unnecessary invalidation of the entire set of non-PG_G entries.
rik [Sun, 25 Mar 2007 21:33:38 +0000 (21:33 +0000)]
MFC: -j 1.95 -j 1.96
rik 2007-03-18 23:28:53 UTC
FreeBSD src repository
Modified files:
sys/net if_bridge.c
Log:
Give a chance for packet to appear with a correct input interfaces
in case of multiple interfaces with the same MAC in the same bridge.
This commit do not solve the entire problem. Only case where packet
arrived from such interface.
PR: kern/109815
MFC after: 7 days
Submitted by: Eygene Ryabinkin and rik@
Discussed with: bms@, thompsa@, yar@
delphij [Fri, 23 Mar 2007 01:55:20 +0000 (01:55 +0000)]
MFC revision 1.2
date: 2007/03/16 03:50:53; author: delphij; state: Exp; lines: +9 -1
Mention a limitation that was inherted from RFC1952, making
it impossible to obtain correct file size from a file that
is larger than 4GB before compression.
emaste [Fri, 23 Mar 2007 01:00:40 +0000 (01:00 +0000)]
MFC r1.64:
KERN_PROC_ALL produces a kinfo_proc for each thread in a process, which
caused fstat to produce duplicated output for threaded processes. Instead
use KERN_PROC_PROC to get just one kinfo_proc per process.
yongari [Thu, 22 Mar 2007 04:05:17 +0000 (04:05 +0000)]
MFC e1000phy.c rev. 1.17, 1.18 to RELENG_6
rev. 1.17
o style(9) fixes
rev. 1.18
o Add support code for newer Marvell PHYs.
o Remove unused static global variable e1000phy_debug.
o Take advantage of mii_phy_dev_probe().
o Use MII_ANEGTICKS/MII_ANEGTICKS_GIGE instead of magic number 5.
o Add IFM_NONE as e1000phy(4) supports it without issues.
o Nuke magic PHY programming sequence in PHY reset and follow correct
reset sequence. [1]
o Make manual media selection work for all supported media types.
o Don't set MIIF_NOISOLATE so e1000phy(4) can be used in
configurations with multiple PHYs.
o In 1000baseT, when setting the link manually, one side must be the
master and the other the slave. If LINK0 is set, program the PHY
to be a master, otherwise it's a slave.
o When we lost a link, reset mii_ticks immediately so it correctly
check number of seconds elapsed in autonegotiation phase.
o Announce link loss right after it happens.
o After kicking autonegotiation, report PHY status instead of
returning immediatly.
o When link state check is in progress, check auto negotiation
completion bit only when auto negotiation is enbaled.
o When PHY is resolved to a master, show it with IFM_FLAG2.
oleg [Wed, 21 Mar 2007 17:25:15 +0000 (17:25 +0000)]
MFC rev. 1.102-1.105
- style(9) cleanup
- Use separate thread for servicing dummynet(4).
Utilize taskqueue(9) API.
- Convert
net.inet.ip.dummynet.curr_time
net.inet.ip.dummynet.searches
net.inet.ip.dummynet.search_steps
to SYSCTL_LONG nodes. It will prevent frequent wrap around on 64bit archs.
- Implement simple mechanics for dummynet(4) internal time correction.
Under certain circumstances (system high load, dummynet lock contention, etc)
dummynet's tick counter can be significantly slower than it should be.
(I've observed up to 25% difference on one of my production servers).
Since this counter used for packet scheduling, it's accuracy is vital for
precise bandwidth limitation.
Introduce new sysctl nodes:
net.inet.ip.dummynet.
tick_lost - number of ticks coalesced by taskqueue thread.
tick_adjustment - number of time corrections done.
tick_diff - adjusted vs non-adjusted tick counter difference
tick_delta - last vs 'standard' tick differnece (usec).
tick_delta_sum - accumulated (and not corrected yet) time
difference (usec).
- Use non-recursive mutex. MTX_RECURSE is unnecessary since rev. 1.70
- Pay respect to net.isr.direct: use netisr_dispatch() instead of ip_input()
- purge_flow_set():
Do not leak memory while purging queues which are not bound to pipe.
cperciva [Wed, 21 Mar 2007 15:15:57 +0000 (15:15 +0000)]
MFC revisions 1.5[6789]:
* Remove unused pathlen argument from write_entry function.
* Fix logic bug in deciding if do_chdir should be called.
* Don't consider an lstat(2) failure to be an error.
* Correct warning message when lstat(2) fails.
sam [Wed, 21 Mar 2007 05:01:44 +0000 (05:01 +0000)]
MFC: power save fix:
When dispatching frames saved on the power save queue to a
station exiting power save mode prepend them to the driver's
send q instead of appending them. This insures the packets
are not misordered wrt any packets already q'd for the station.
This corrects a problem noticed when using a VoIP phone talking
to an ath card in ap mode; the misordered packets caused noise.
brian [Mon, 19 Mar 2007 18:56:40 +0000 (18:56 +0000)]
MFC: Account for di_blocks allocations when IN_SPACECOUNTED is set in an
inode's i_flag. This fixes an eventual df/du discrepency resulting
from fs_pendingblocks being reduced to less than zero.
kmacy [Mon, 19 Mar 2007 04:50:15 +0000 (04:50 +0000)]
The driver would hang during attach on RELENG_6 - by "fixing" the issue
by adding debug print statements I've come to the conclusion that too little
time is being allowed to pass between register updates. Increasing the DELAY
interval by a constant interval eliminates this issue on my hardware.
yar [Wed, 14 Mar 2007 14:19:42 +0000 (14:19 +0000)]
MFC:
As suggested more than once in the lists, drop -M from flags to mfs
for /tmp and /var. This makes the memory discs swap-backed instead
of malloc-backed. A swap-backed memory disc should not be worse
than a malloc-backed one in any scenario because it will start
touching swap only when needed. OTOH, a malloc-backed disc can
starve limited kernel resources and evenually crash the system.
Reflect the change in the rc.conf(5) manpage. Also stop telling
lies there about softupdates: it does not waste disc space, it
just can delay its freeing.
bms [Tue, 13 Mar 2007 22:12:23 +0000 (22:12 +0000)]
MFC rev 1.203:
Fix IP_SENDSRCADDR semantics.
* To use this option with a UDP socket, it must be bound to a local port,
and INADDR_ANY, to disallow possible collisions with existing udp inpcbs
bound to the same port on other interfaces at send time.
* If the socket is bound to INADDR_ANY, specifying IP_SENDSRCADDR with
INADDR_ANY will be rejected as it is ambiguous.
* If the socket is bound to an address other than INADDR_ANY, specifying
IP_SENDSRCADDR with INADDR_ANY will be disallowed by in_pcbbind_setup().
Reviewed by: silence on -net
Tested with: src/tools/regression/netinet/ipbroadcast
bms [Tue, 13 Mar 2007 21:59:20 +0000 (21:59 +0000)]
MFC rev 1.159:
Comply with RFC 3927, by forcing ARP replies which contain a source
address within the link-local IPv4 prefix 169.254.0.0/16, to be
broadcast at link layer.
thomas [Tue, 13 Mar 2007 20:28:24 +0000 (20:28 +0000)]
MFC mount_nfs.c rev. 1.72, mount_nfs.8 rev. 1.47:
Add "fg" option as antonym to "bg"; add "hard" option as antonym to "soft".
This is for better compatibility with other environments (Linux, Solaris,
HP-UX, AIX and Tru64 support these options).
joerg [Mon, 12 Mar 2007 21:41:01 +0000 (21:41 +0000)]
Merge Peter's fix from rev 1.14 back to RELENG_6. This line of code
appears to have been accidentally committed in rev 1.11, and was never
meant to go into any official code.
ru [Mon, 12 Mar 2007 12:13:53 +0000 (12:13 +0000)]
MFC: Don't block on the socket zone limit during the socket()
syscall which can lock up a system otherwise; instead, return
ENOBUFS as documented, which matches the FreeBSD 4.x behavior.
ariff [Mon, 12 Mar 2007 02:03:25 +0000 (02:03 +0000)]
MFC (revision 1.31)
Fix long standing multi playback/recording issues, caused by
excessive interrupt clock timer reset, screwing interrupt generation
for already active channels. Track moving DMA pointer and call buffer
interrupt on each blocksize boundary.
Disable RPC exponential back-off for FreeBSD.org systems (IE. hidden
behind _FREEFALL_CONFIG). This is done mainly to make NIS even more
resistant to packet loss.
This is not enabled by default for "normal" FreeBSD since it might cause
the server providing the RPC service to be hit heavily with RPC traffic
in case of problems. freefall.FreeBSD.org and hub.FreeBSD.org have been
running with a patch similar to this for a couple of weeks.
simon [Sun, 11 Mar 2007 09:59:51 +0000 (09:59 +0000)]
MFC 1.50:
- Bump _yplib_timeout limit from 10 to 20 seconds to better handle
packet loss when talking to a NIS server.
- Set 1 second retry timeout to further realistically handle UDP
packet loss for yp_next packet bursts. If the packet hasn't come
back within 1 second its rather unlikely to come back at all. There
is still back-off mechanism in RPC so if there is another reason
than packet loss for the lack of response within 1 second, the NIS
server will not be totally bombarded with requests.
This reduces the risk of NIS failing with:
yp_next: clnt_call: RPC: Timed out
considerably. This is mainly a problem if you have larger NIS maps
(like at FreeBSD.org) since enumerations of the lists will cause a UDP
packet bursts where a few packets being lost once in a while do
happen.
Discussed with: peter
Problem mainly diagnosed by: peter
yar [Sat, 10 Mar 2007 14:04:01 +0000 (14:04 +0000)]
MFC rev. 1.10:
Improve rc.d conformance:
- don't play a needless trick with prestart, just use start method;
- provide no-op stop method so that we don't get bogus "abi not running" error.
yar [Sat, 10 Mar 2007 14:00:51 +0000 (14:00 +0000)]
MFC rev. 1.18:
Syscons cannot be stopped, so provide a no-op stop method.
The default stop method from rc.subr isn't suited for this
case and produces a bogus warning: "syscons not running".