Commit Graph

108740 Commits

Author SHA1 Message Date
Scott Long
25ba7fd287 Use an alignment of 1 instead of PAGE_SIZE for the rx and tx buffer tags.
Since the e1000 DMA engines hava no constraints on the alignment of buffer
transfers, there is no reason to tell busdma that there is.  This save a
minimum of 1 malloc call per packet, which translates to eliminating 4 locks.
It also means that buffers are not needlessly bounced when transfered.  The
end result is a 38% improvement in pps in a 4 way bridging environment.

Obtained from: Sandvine, Inc.
2004-10-19 02:39:27 +00:00
Thomas Quinot
e30c35ed0c When dumpdev is set to 'auto', and a suitable swap device is found,
create a symbolic link /dev/dumpdev designating that device so
savecore can find and save a previous kernel dump.
2004-10-18 23:40:13 +00:00
John-Mark Gurney
7a099cc936 fix (for me) the problems where if_de gets really slow after time
(usually taking 20 seconds to transmit a packet).. no longer fall back
to only transmitting one packet (instead of the entire queue) after we
have processed the entire send queue...  I have no idea why we didn't
start seeing this problem ~6 years ago when this code was introduced...
2004-10-18 23:06:12 +00:00
Robert Watson
81158452be Push acquisition of the accept mutex out of sofree() into the caller
(sorele()/sotryfree()):

- This permits the caller to acquire the accept mutex before the socket
  mutex, avoiding sofree() having to drop the socket mutex and re-order,
  which could lead to races permitting more than one thread to enter
  sofree() after a socket is ready to be free'd.

- This also covers clearing of the so_pcb weak socket reference from
  the protocol to the socket, preventing races in clearing and
  evaluation of the reference such that sofree() might be called more
  than once on the same socket.

This appears to close a race I was able to easily trigger by repeatedly
opening and resetting TCP connections to a host, in which the
tcp_close() code called as a result of the RST raced with the close()
of the accepted socket in the user process resulting in simultaneous
attempts to de-allocate the same socket.  The new locking increases
the overhead for operations that may potentially free the socket, so we
will want to revise the synchronization strategy here as we normalize
the reference counting model for sockets.  The use of the accept mutex
in freeing of sockets that are not listen sockets is primarily
motivated by the potential need to remove the socket from the
incomplete connection queue on its parent (listen) socket, so cleaning
up the reference model here may allow us to substantially weaken the
synchronization requirements.

RELENG_5_3 candidate.

MFC after:	3 days
Reviewed by:	dwhite
Discussed with:	gnn, dwhite, green
Reported by:	Marc UBM Bocklet <ubm at u-boot-man dot de>
Reported by:	Vlad <marchenko at gmail dot com>
2004-10-18 22:19:43 +00:00
Ruslan Ermilov
6bd0a54ae4 uniq(1) is not an install tool, and using it was causing
"uniq: not found" during the installworld.

Spotted by:	Roman Neuhauser
2004-10-18 22:18:23 +00:00
Poul-Henning Kamp
95bc568977 Add new function ttyinitmode() which sets our systemwide default
modes on a tty structure.

Both the ".init" and the current settings are initialized allowing
the function to be used both at attach and open time.

The function takes an argument to decide if echoing should be enabled.
Echoing should not be enabled for regular physical serial ports
unless they are consoles, in which case they should be configured
by ttyconsolemode() instead.

Use the new function throughout.
2004-10-18 21:51:27 +00:00
Ruslan Ermilov
2b0448ba0c Utilize SCRIPTS. 2004-10-18 21:44:17 +00:00
Ruslan Ermilov
69c2a92e4d Utilize FILES, SCRIPTS, and SYMLINKS. While here, fixed a bug in
the implementation of the following feature in revision 1.4:

- Install Makefile.yp as /var/yp/Makefile.dist and link it to
  /var/yp/Makefile only if /var/yp/Makefile doesn't already exist.
  Suggested by Peter Wemm.

The actual code was only symlinking when no /var/yp/Makefile.dist
existed, i.e., never.
2004-10-18 21:42:15 +00:00
Lukas Ertl
60110adc64 Drop the NDIS lock before returning from ndis_start().
PR:             i386/72795
Submitted by:   Frank Mayhar <frank@exit.com>
MFC in:         3 days
2004-10-18 21:33:56 +00:00
David E. O'Brien
a8e792d295 Catch up with PHK's sio(4) rework [sys/dev/sio/sio.c rev. 1.456].
Also catch up with RCng.

Reviewed by:	phk
2004-10-18 21:31:05 +00:00
Ruslan Ermilov
8311bc780c Utilize SCRIPTS. 2004-10-18 21:29:20 +00:00
Poul-Henning Kamp
7b60658347 Add an entry about some tty devices being renamed. 2004-10-18 21:24:21 +00:00
Gleb Smirnoff
547d34736b Major overhaul.
List of functional changes:
   - Make a single device per single node with a single hook.
     This gives us parrallelizm, which can't be achieved on a single
     node with many devices/hooks. This also gives us flexibility - we
     can play with a particular device node, not affecting others.
   - Remove read queue as it is. Use struct ifqueue instead. This change
     removes a lot of extra memcpy()ing, m_devget()ting and m_copymem()ming.
     In ng_device_receivedata() we enqueue an mbuf and wake readers.
     In ngdread() we take one mbuf from qeueue and uiomove() it to
     userspace. If no mbuf is present we optionally block. [1]
   - In ngdwrite() we create an mbuf from uio using m_uiotombuf().
     This is faster then uiomove() into buffer, and then m_copydata(),
     and this is much better than huge m_pullup().
   - Perform locking of device
   - Perform locking of connection list.
   - Clear out _rcvmsg method, since it does nothing good yet.
   - Implement NGM_DEVICE_GET_DEVNAME message.
   - #if 0 ioctl method, while nothing is done here yet.
   - Return immediately from ngdwrite() if uio_resid == 0.

 List of tidyness changes:
   - Introduce device2priv(), to remove cut'n'paste.
   - Use MALLOC/FREE, instead of malloc/free.
   - Use unit2minor().
   - Use UID_ROOT/GID_WHEEL instead of 0/0.
   - Define NGD_DEVICE_DEVNAME, use it.
   - Use more nice macros for debugging. [2]
   - Return Exxx, not -1.

 style(9) changes:
   - No "#endif" after short block.
   - Break long lines.
   - Remove extra spaces, add needed spaces.

[1] Obtained from:      if_tun.c
[2] Obtained from:      ng_pppoe.c
Reviewed by:		marks
Approved by:		julian (mentor)
MFC after:		1 month
2004-10-18 20:13:57 +00:00
Robert Watson
8f30dde5fe Annotate that get_cyclecount() can be expensive on some platforms,
which juxtaposes nicely with the comment just above on how the
harvest function must be cheap.
2004-10-18 19:29:13 +00:00
Ruslan Ermilov
588dbe0aa0 Fixed MAKEOBJDIRPREFIX variable type check in case the env(1)
binary is not in PATH, as is the case with installworld, etc.
2004-10-18 17:47:31 +00:00
Ruslan Ermilov
a5d15979f2 Replaced afterinstall: with FILES. 2004-10-18 17:20:29 +00:00
David E. O'Brien
62f696fcfa Sync with sys/i386/include/endian.h: use the single instruction 'bswap'. 2004-10-18 17:19:36 +00:00
Ruslan Ermilov
bd2e7b7478 Replaced afterinstall: with equivalent FILES and SYMLINKS. 2004-10-18 17:16:01 +00:00
Garrett Wollman
ca07e9ca05 New directory added for Argentinian timezones.
Submitted by:	ache
2004-10-18 17:03:53 +00:00
Ruslan Ermilov
83c731e4df Replaced afterinstall: with FILES. 2004-10-18 16:39:53 +00:00
Ruslan Ermilov
1c9c8d506f Replaced afterinstall: with FILES. 2004-10-18 16:26:25 +00:00
Colin Percival
5578bd8c99 Modify behaviour of xargs -I in order to:
1. Conform to IEEE Std 1003.1-2004, which state that "Constructed
arguments cannot grow larger than 255 bytes", and
2. Avoid a buffer overflow.

Unfortunately the standard doesn't indicate how xargs is supposed to
handle arguments which (with the appropriate substitutions) would grow
larger than 255 bytes; this solution handles those by making as many
substitutions as possible without overflowing the buffer.

OpenBSD's xargs resolves this in a different direction, by making
all the substitutions and then silently truncating the resulting string.

Since this change may break existing scripts which rely upon the buffer
overflow (255 bytes isn't really all that long...) it will not be MFCed.
2004-10-18 15:40:47 +00:00
Thomas Quinot
585d0283b0 Remove unused computation of memory size.
Reviewed by:	des
2004-10-18 14:59:53 +00:00
Robert Watson
ae8c2fa228 Correct several instances where calls to vfs_getvfs() resulting in
failure in the NFS server would result in a leaked instance of the NFS
server subsystem lock.  Liberally sprinkle assertions in all target
labels for error unwinding to assert the desired locking state.

RELENG_5_3 candidate.

MFC after:	3 days
Reported by:	Wilkinson, Alex <alex dot wilkinson at dsto dot defence dot gov dot au>
2004-10-18 11:23:11 +00:00
Andrey A. Chernov
082a6f6612 Update to readline 5.0 2004-10-18 10:13:24 +00:00
Yaroslav Tykhiy
017aaf79e1 Since sendfile(2) works on regular files only,
which have no negative offsets, "negative" and
"invalid" are equivalent WRT the offset argument.

Suggested by:	bde
2004-10-18 10:02:04 +00:00
Ruslan Ermilov
4325be53b0 Utilize FILES and SYMLINKS. 2004-10-18 08:54:17 +00:00
Andrey A. Chernov
f7a0503d8d Back out termcap -> ncurses change in LDADD/DPADD
It expand functions scope too wide
2004-10-18 08:36:40 +00:00
Andrey A. Chernov
f51acbc538 Upgrade to 5.0 2004-10-18 08:29:47 +00:00
Alan Cox
1e96d2a217 Correct two errors in PG_BUSY management by vm_page_cowfault(). Both
errors are in rarely executed paths.
1. Each time the retry_alloc path is taken, the PG_BUSY must be set again.
   Otherwise vm_page_remove() panics.
2. There is no need to set PG_BUSY on the newly allocated page before
   freeing it.  The page already has PG_BUSY set by vm_page_alloc().
   Setting it again could cause an assertion failure.

MFC after: 2 weeks
2004-10-18 08:11:59 +00:00
Andrey A. Chernov
e1d0efc09d Upgrade to 5.0 2004-10-18 08:08:03 +00:00
Andrey A. Chernov
e33662c6c4 Update for 5.0 2004-10-18 07:49:59 +00:00
Andrey A. Chernov
b69b773e8a Merge local changes 2004-10-18 07:25:32 +00:00
Andrey A. Chernov
761828a6e6 Remove files not in 5.0 2004-10-18 07:18:06 +00:00
Andrey A. Chernov
60b6984141 Update instructions 2004-10-18 07:15:43 +00:00
Andrey A. Chernov
6af9ea3853 This commit was generated by cvs2svn to compensate for changes in r136647,
which included commits to RCS files with non-trunk default branches.
2004-10-18 07:10:33 +00:00
Andrey A. Chernov
e5ce20496d Official patches 001-005 2004-10-18 07:10:33 +00:00
Andrey A. Chernov
d1447d3869 This commit was generated by cvs2svn to compensate for changes in r136644,
which included commits to RCS files with non-trunk default branches.
2004-10-18 07:02:42 +00:00
Andrey A. Chernov
fc34a2e6e7 Virgin import of GNU Readline 5.0 2004-10-18 07:02:42 +00:00
David E. O'Brien
f4a324ac51 Add a -q flag to pkg_version. It suppresses the output of <,=,>.
This makes it possible to "portupgrade `pkg_version -q -l '<'`".
2004-10-18 05:34:54 +00:00
Tim Kientzle
d4ddb4f67f Revert 1.18: It broke Athlon64 builds, which
probably means it also requires a .so version
bump.  Defer it until I finish some related
work on cleaning up error returns throughout
the library.

Thanks to: Conrad J. Sabatier
2004-10-18 05:31:01 +00:00
Tim Kientzle
ccd736423f Use STDERR_FILENO instead of 2, as POSIX intended.
Thanks to: Alfred Perlstein
2004-10-18 04:34:30 +00:00
Andrey A. Chernov
27ecbe8a77 Remove setrunelocale() 2004-10-18 02:06:18 +00:00
Giorgos Keramidas
ca1ccb195b Typo fix.
PR:		misc/72801
Submitted by:	Hywel Mallett <circular@hmallett.co.uk>
2004-10-18 00:45:28 +00:00
Garrett Wollman
eda0700e69 MFV tzdata2004e
Users in Brazil and Argentina should run tzsetup(8).

Obtained from:	Arthur David Olson
MFC after	re approval
2004-10-18 00:03:52 +00:00
Tim Kientzle
9969ea22ef getopt(3) prints an "unrecognized option" warning for me, so I
shouldn't print another.

MFC after: 15 days
2004-10-17 23:58:17 +00:00
Tim Kientzle
ce7691dcad Cosmetic goof: Use two spaces in "Jan 03 2004" but only one in "Jan 03 12:32"
MFC after: 15 days
2004-10-17 23:57:10 +00:00
Garrett Wollman
0c001807f5 This commit was generated by cvs2svn to compensate for changes in r136632,
which included commits to RCS files with non-trunk default branches.
2004-10-17 23:55:07 +00:00
Garrett Wollman
00cb26c6f9 Latest timezone database from Arthur Olson. Updates in this round:
Current or prospective timestamps: Georgia, Uruguay, Argentina, and Brazil

Historial timestamps and/or commentary: Malaysia, Mongolia, Singapore,
Peru, Russua, Israel, United States, Canada

Changes in Argentina and Brazil have created several new time zone regions.
Users are encouraged to rerun tzsetup(8), even if current times appear
correct, to ensure that future times will be interepreted correctly.

Obtained from: Arthur Olson, ftp://elsie.nci.nih.gov/pub/tzdata2004e.tar.gz
2004-10-17 23:55:07 +00:00
Tim Kientzle
227b756897 Correctly report write errors from the lowest-level
output routines back to the compression layer.
2004-10-17 23:47:30 +00:00