Sascha Wildner [Wed, 22 May 2013 04:52:08 +0000 (06:52 +0200)]
<sys/cdefs.h>: Add compatibility macros for C11's _Noreturn.
Taken-from: FreeBSD
Sascha Wildner [Wed, 22 May 2013 03:07:01 +0000 (05:07 +0200)]
tpm(4): Use __func__.
Sascha Wildner [Wed, 22 May 2013 02:30:33 +0000 (04:30 +0200)]
tpm(4): Fix building with TPM_DEBUG.
Sepherosa Ziehau [Wed, 22 May 2013 01:24:37 +0000 (09:24 +0800)]
intr: Fix comment
Reported-by: haesbaert@haesbaert.org
François Tigeot [Sat, 4 May 2013 09:00:55 +0000 (11:00 +0200)]
sili(4): Maximum I/O size is 256KB
François Tigeot [Tue, 21 May 2013 09:38:45 +0000 (11:38 +0200)]
kernel: Add CLOCK_PROCESS_CPUTIME_ID (part 2)
François Tigeot [Tue, 21 May 2013 08:45:13 +0000 (10:45 +0200)]
kernel: Add CLOCK_PROCESS_CPUTIME_ID
Sepherosa Ziehau [Tue, 21 May 2013 08:53:29 +0000 (16:53 +0800)]
ixgbe: On transmit path, prepend the unconsumed mbuf to the if_snd
DragonFly-bug: http://bugs.dragonflybsd.org/issues/2563
Sascha Wildner [Mon, 20 May 2013 12:17:10 +0000 (14:17 +0200)]
whereis(1): Search /usr/dports too.
Aggelos Economopoulos [Mon, 20 May 2013 18:56:07 +0000 (20:56 +0200)]
kernel -- x86_64: Do not set reserved bits in CR3.
The x86-64 platform code was setting PG_V, PG_U, and PG_RW bits in the
CR3 register. While the bits were supposed to cleared, Intel and AMD
hardware were ignoring them. Other x86-64 implementations, in
particular the software emulator in Linux's KVM, do check that these
reserved bits are zero.
Fixes issue running DragonFly x86_64 on KVM hosts without
two-dimensional (nested) paging.
Tested on a variety of real hardware (AMD FX(tm)-8150, c2q 6600, others)
and VM configurations (KVM on Intel/AMD hosts, Xen).
Committing-on-behalf-of: Venkatesh Srinivas <vsrinivas@ops101.org>
Reported-by: aggelos@, c.turner1, others.
Testing-by: aggelos@, swildner@, mneumann@, ftigeot@, profmakx@, Enjolras
Bug: 2561
Sepherosa Ziehau [Mon, 20 May 2013 13:55:41 +0000 (21:55 +0800)]
syncache: Avoid unnecessary tcpcb checking during syncache dropping
Sepherosa Ziehau [Mon, 20 May 2013 13:44:32 +0000 (21:44 +0800)]
syncache: Avoid NULL accessing to tcpcb of the to-be-dropped syncache
It is possible that the syncache tcpcb is NULL when overflow happens,
e.g. the corresponding listen socket was closed but the timeout has
not recollected the staled syncache yet.
Sascha Wildner [Mon, 20 May 2013 09:40:14 +0000 (11:40 +0200)]
setkey(8): Use '#!/usr/bin/env' to find perl in a script.
Sascha Wildner [Sun, 19 May 2013 14:05:10 +0000 (16:05 +0200)]
installer: Remove pnpinfo configuration option.
pnpinfo(8) is i386 only. Also, it's easy enough to review it by logging
in as root.
Suggested-by: ftigeot
Sascha Wildner [Mon, 20 May 2013 06:40:57 +0000 (08:40 +0200)]
Remove /usr/pkg/xorg/... and /usr/X11R6/... from various paths/manpages.
Sepherosa Ziehau [Mon, 20 May 2013 08:43:39 +0000 (16:43 +0800)]
msk: Disable MSI by default.
For certain chips, enabling it will cause watchdog timeout and the chip
may not be able to work again w/o rebooting.
Reported-by: ferz
Sascha Wildner [Sun, 19 May 2013 16:18:58 +0000 (18:18 +0200)]
Use '#!/usr/bin/env' to find perl in some scripts.
Sascha Wildner [Sat, 18 May 2013 10:48:47 +0000 (12:48 +0200)]
bsd-family-tree: Sync with FreeBSD.
John Marino [Sat, 18 May 2013 20:48:24 +0000 (22:48 +0200)]
bmake: Fix wildcard srcs for phony targets
Bug fix created by Simon G. at BSDcan 2013 when Baptiste mentioned the
incompatiblity with legacy make seen during adding support to ports for
bmake. There is no impaet for world/kernel builds.
Taken-from: FreeBSD SVN 250773 (18 May 2013)
Matthew Dillon [Sat, 18 May 2013 01:17:47 +0000 (18:17 -0700)]
hammer2 - freemap part 2 - cleanup & performance pass
* Increase minimum I/O from 1K to 16K (HAMMER2_LBUFSIZE).
* Adjust some use cases, increasing the smallest indirect block to the
minimum IO size 4K->16K.
* The BREF_TYPE_FREEMAP_LEAF bitmap is now embedded in the chain, allowing
us to use the 256 byte bitmaps more safely. As with inodes, a read-in
involves using a larger buffer-cache buffer and then copying the data
into the chain.
* Avoid unnecessary reads from disk when allocating blocks that are less
than the minimum IO size. If it is determined that the bitmap bits
covering the minimum IO size are 0 (unallocated), we pre-validate the
larger buffer cache buffer so the later bread() does not have to issue
any actual reads.
Pre-validation for allocations larger than or equal to the minimum IO
size is already handled in the chain locking code.
With this change, a cpdup into H2 will issue mostly writes and is able
to avoid nearly all reads.
* Make some progress formalizing chain-embedded data.
Sascha Wildner [Sat, 18 May 2013 01:16:29 +0000 (03:16 +0200)]
lvm: Fix two wrong array indexes.
Both files are not used by us. Just in case someone wants to play with
them.
Matthew Dillon [Fri, 17 May 2013 21:48:59 +0000 (14:48 -0700)]
hammer2 - freemap part 1 - initial block allocator and media support
* Freemap document (FREEMAP in this directory)
* temporarily turn off clustering until the freemap gets that capability
(mixed buffer sizes can be adjacent atm).
* Remove the freemap_blockref[1] from the volume header and replace it
with a blockset array (8 blockrefs).
* Implement dynamic creation of freemap nodes and leafs on an as-needed
basis using the normal indirect block creation code. Most of the standard
file handling code is reused for the freemap support.
* Major cleanup of hammer2_chain.c, the duplication code, the indirect
block creation and handling, and the chain->flag handling.
Sascha Wildner [Wed, 15 May 2013 18:19:18 +0000 (20:19 +0200)]
kernel: Add the tpm(4) driver for trusted platform modules.
Tested-by: tuxillo on a HP ProBook 6460b
Taken-from: FreeBSD
Sascha Wildner [Wed, 15 May 2013 14:32:30 +0000 (16:32 +0200)]
Update the pciconf(8) database.
May 14, 2013 snapshot from http://pciids.sourceforge.net/
Matthew Dillon [Tue, 14 May 2013 17:44:36 +0000 (10:44 -0700)]
kernel - Fix devfs deadlock
* Fix a devfs deadlock against getnewvnode() due to the devfs master
lock being held.
* Most evident on 32-bit builds because 64-bit builds don't recycle vnodes
as quickly.
Reported-by: marino
Analysis-by: vsrinivas
John Marino [Tue, 14 May 2013 10:35:53 +0000 (12:35 +0200)]
top(1): Remove whitespace from local modifications
This only cleans up code we added, there are no functional changes.
John Marino [Tue, 14 May 2013 10:21:30 +0000 (12:21 +0200)]
top(1): Support wider terminals (Bug 2448)
Bump MAX_COLS from value of 255 to 512 to support wider terminals.
A similar change was also done on FreeBSD 5 months ago (r244180)
Reported-by: Charles Rapenne
https://bugs.dragonflybsd.org/issues/2448
Matthew Dillon [Mon, 13 May 2013 03:44:32 +0000 (20:44 -0700)]
hammer2 - flush sequencing part 8 - stabilization pass
* On this commit it appears that the cpdup / test is fully validating
on remount and chain memory leaks are gone.
* Remove a hack when creating a hardlink. The original directory entry
is duplicated to create the invisible hardlink target in the common
parent directory, but the original directory entry is then not deleted.
Instead I was modifying it (which generally did not cause a delete/duplicate
sequence) and then changing the inode type to HARDLINK and setting
the OPFLAG_DIRECTDATA flag.
The problem with this is that the inode's core RBTREE was left intact,
but as a DIRECTDATA inode the flusher ignores it. This prevented the
flusher from clearing the MOVED but on the children and resulted in the
memory leak.
What I do now is delete/duplicate the original inode, give the duplicate
a fresh core, and then modify the duplicate instead of the original to be
the special HARDLINK type w/OPFLAG_DIRECTDATA. This removes the special
case.
Matthew Dillon [Mon, 13 May 2013 03:16:45 +0000 (20:16 -0700)]
hammer2 - Add 'hash' directive
* Add hammer2 hash <filename>* which calculates and prints out the
64-bit directory hash code for a filename, for debugging purposes.
Matthew Dillon [Mon, 13 May 2013 03:13:04 +0000 (20:13 -0700)]
hammer2 - flush sequencing part 7 - stabilization pass
* Simplify the next_parent / IPACTIVE handling. Just ref next_parent
unconditionally, it's the easiest solution.
* More work on CHAIN_SUBMODIFIED flag handling during the flush. The
flush seems to catch all the edge cases now (cross fingers).
* Do a better job cleaning up unreferenced chains.
John Marino [Sat, 11 May 2013 20:16:21 +0000 (22:16 +0200)]
less: Update to version 458
Version 458 was released on 4 APR 2013. Differences since version 451:
* Allow backslash escaping of metacharacters in LESS environment
variable after the --use-backslash option.
* Don't quit if syntax errors are found in command line options.
* Increase sizes of some internal buffers.
* Fix crash with "stty rows 0".
* Fix display bug when using up/down arrow on the command line.
Version 451 was released on 4 SEP 2012. Differences since version 444:
* Add ESC-F command to keep reading data until a pattern is found.
* Use exit code of LESSOPEN script if LESSOPEN starts with "||".
* When up/down arrow is used on the command line immediately after
typing text, the next command starting with that text is found.
* Add support for GNU regex.
* Add configure option --with-regex=none and fix compile errors
when compiling with no regex library.
* Fix possible crashes caused by malformed LESSOPEN or
LESSCLOSE variables.
* Fix bug highlighting text which is discontiguous in the file
due to backspace processing.
* Fix bug in displaying status column when scrolling backwards
with -J and -S in effect.
John Marino [Sat, 11 May 2013 20:50:00 +0000 (22:50 +0200)]
Merge branch 'vendor/LESS'
John Marino [Sat, 11 May 2013 20:01:33 +0000 (22:01 +0200)]
Update less from version 444 to 458 on the vendor branch
John Marino [Sat, 11 May 2013 18:52:10 +0000 (20:52 +0200)]
libedit: Update to version 2012-12-13
There have been three releases since libedit was imported as a vendor
branch, but the changelog is simply "sync with NetBSD" for each one.
The main item of interest is that widechar support has been added
for real this time. Previously all the man pages were in place but
the library didn't actually have the support.
A minor item of note is that NetBSD finally implemented the
rl_completion_word_break_hook which reduces the number of files
with local modifications.
John Marino [Sat, 11 May 2013 19:34:39 +0000 (21:34 +0200)]
Merge branch 'vendor/LIBEDIT'
Conflicts:
contrib/libedit/src/editline/readline.h
contrib/libedit/src/readline.c
John Marino [Sat, 11 May 2013 08:40:20 +0000 (10:40 +0200)]
Update libedit from version 2012-03-11 to 2012-12-13 on vendor branch
John Marino [Fri, 10 May 2013 22:19:15 +0000 (00:19 +0200)]
tcsh: Update from version 6.17.00 to 6.18.01
There were 8 releases since the last tcsh update.
The changes of each are listed below.
When the output of "csh --version" is compared to the previous version,
two differences are noticed. The first is dpsm is not showing. This is
correct because it cannot be set simultaneously with widestar as it was.
The second difference is the system malloc is no longer used. The
sources inside say system malloc can be significantly slower and that
memory statistics will not be available if used. It also went to pains
to remove the option even if hard-coded in config_p.h.
The identifier for --version was fixed for x86_64 platform by
updating host.defs file.
V6.18.01 -
20120214
5. fix interruptible wait again
4. ignore bogus compiler overflow message
3. cleanup ifdefs in utmp code, and provide default array entries
2. Ignore #machine entries in host.defs
1. Detect missing ) in gethost.c (Corinna Vinschen)
V6.18.00 -
20120114
103. remove unused variables.
102. Make gethost use definitions for x __x__ and __x automatically.
101. More utmp fixes
100. V6.17.10 -
20120105
99. Add more FreeBSD/NetBSD machines
98. Add portability wrapper for gencat
97. Fix warning for write in SYSMALLOC systems.
96. V6.17.09 -
20120102
95. revert gencat handling to pre-cygwin fixes (without env settings)
94. remove stray endutent()
93. V6.17.08 -
20111230
92. Remove - from gencat
91. Provide support for malloc_usable_size() so that linux works again
without SYSMALLOC
90. Add support for FreeBSD's utmpx.
V6.17.07 -
20111227
88. Fix debian bug #645238: tcsh segfaults when prompt includes %j and
there are more than 10 jobs.
87. PR/155: Default $anyerror to set for backward compatibility
86. PR/149: Don't print -1 in %j (Vojtech Vitek)
85. handle -- on chdir commands as the end of options processing so that
they can process a directory like -x without resorting to ./-x
(Andrew Stevenson)
84. Handle write(2) returning ENOENT from SoFS, thanks ++HAL (R. Byrnes)
83. PR/38: Null check for jobs (Kurt Miller)
82. Fix spelling correction correcting ./foo -> ../foo2 (jean-luc leger)
81. PR/120: string0 in filetest does not have enough space.
80. V6.17.06 -
20110415
79. PR/110: Add $anyerror to select behavior. Default to the new one.
78. Don't try to spell commands that are correct (Rouben Rostamian)
[./tcsh -f; set path=($path 2); mkdir foo2; cd foo2; touch foo;
chmod +x foo; set correct=cmd; ./foo -> ../foo]
77. Don't push syntax struct on the cleanup stack, because on foo;bar
if foo fails, we will free bar prematurely (Ben Miller)
76. Avoid infinite loop while trying to print pid of a dying process
to a closed file (Bob Arendt)
75. Handle completion of ${ variables (Anthony Mallet)
74. Add --disable-nls-catalogs (Corinna Vinschen)
73. convert message catalogs to UTF-8 (Werner Fink)
72. check that the NLS path works before setting $NLSPATH.
71. use SYSMALLOC for GLIBC (Werner Fink)
70. use mallinfo for SYSMALLOC (Corinna Vinschen)
V6.17.05 -
20110201
68. Use mkstemp() if there for here docs (Werner Fink)
67. Fix handling of errors and exit values in builtins (Werner Fink)
66. Better pty name detection (Werner Fink)
65. Enable NLS catalogs on Cygwin (Corinna Vinschen)
64. NLSPATH handling fixes (Corinna Vinschen)
63. Avoid infrequent exit when tcsh cd's into a non-existent directory
https://bugzilla.novell.com/show_bug.cgi?id=293395 (Werner Fink)
62. Don't try to spell check full path binaries that are correct because
they can cause hangs when other nfs partitions are hung. (W. Fink)
61. Avoid nested interrupts when exiting causing history writing to fail
https://bugzilla.novell.com/show_bug.cgi?id=331627 (Werner Fink)
60. Instead of giving an error or ignoring lines with missing eol at eof,
process them.
59. Avoid leaking fd's in mail check (Werner Fink)
58. Add cygwin_xcrypt() (Corinna Vinschen)
57. Recognize i686 (Corinna Vinschen)
56. Rename cygwin32 to cygwin and bring it up-to-date with modern cygwin
settings (Corinna Vinschen)
55. Avoid double slashes in cdpath (Corinna Vinschen)
V6.17.04 -
20110118
53. Revert PR/110, breaks the test suite.
V6.17.03 -
20110117
51. PR/102: Complain on input files with missing trailing \n
50. PR/104: If atime == mtime we don't have new mail.
49. PR/113: Don't allow illegal variable names to be set.
48. PR/112: don't set $REMOTEHOST on the local machine.
47. PR/110: exit status of the pipeline should be status of last command.
46. Android support (Corinna Vinschen)
45. Add AUTOSET_KANJI which works around the Shift-JIS encoding that
translates unshifted 7 bit ASCII (Werner Fink)
44. Handle mb{r,}towc() returning 0 by setting the return value to NUL
(Jean-Luc Leger)
43. PR/109: make wait interruptible (Vojtech Vitek)
42. resource limit fixes: signed vs. unsigned, megabyte issue, doc issues
(Robert Byrnes)
41. remove .bat and .cmd handling for executables on cygwin (C. Vinschen)
40. Don't echo history while history -L or history -M
39. Check for EOS before ** from Greg Dionne
38. Don't fork in backeval from Bryan Mason
37. Better globstar support from Greg Dionne
36. Error out when processing the last incomplete line instead of
silently ignoring it (Anders Kaseorg)
35. Fix SEGV from echo ``
34. Better fixes for histchars and promptchars (nargs)
33. Fix win32 issue calling fmalloc/ffree from non-thread-safe context.
(Fabio Fabbri)
V6.17.02 -
20100512
31. PR/79: nargs: Better handling for promptchars.
30. PR/97: Add parseoctal to retain compatibility with previous versions
(Jim Zajkowski)
29. PR/84: Performance fixes for large history merges (add
hashtable (Ted Anderson)
28. Revert previous #23; people should use $histlit if they want this
feature.
27. Don't kill "hup" background jobs when a child of the shell exits.
From Debian.
26. Ignore \r\n in the command line options for OS's that don't strip
these from #!; from Debian
25. Fix enhanced missing patch (Greg Dionne)
24. Callers of rt_mbtowc don't grok -2 as a return. Return -1 for now.
(Corinna Vinschen)
23. Turn HistLit on while recording history to avoid \!\! losing its \.
From Debian
22. set autoexpand; set histchars="";\n<tab> crash. From Debian
V6.17.01 -
20100506
20. unset verbose while we are reading the history file to avoid echoing
to the terminal. (Jeffrey Bastian)
19. globstar addition, Enhance addition, euid, euser, gid variables
(Greg Dionne)
18. Make 'e' in vi mode work like 'b' - use wordchars (Alistair Crooks)
17. Handle UTF-16 surrogates (Corinna Vinschen)
16. Make tcsh work on systems where sizeof(wchar_t) == 2 (C. Vinschen)
15. Better support for Solaris >= 2.9 (Thomas Uhle)
14. Change internal expression calculations to long long so that we can
deal with > 32 bit time, inodes, uids, file sizes etc.
13. Add new linux resource limits.
12. Don't print 'Exit X' when printexitvalue is set in `` expressions
(Jeff Bastian)
11. Add more LS_COLORS vars (M.H. Anderson)
10. Reduce whitespace in Makefile (Don Estabrook)
9. Manual page fixes (Alan R. S. Bueno)
8. Remove history in loops bug from the documentation (Holger Weiss)
7. Add autorehash (Holger Weiss)
6. Add history.at (Ted Anderson)
5. Better NLSPATH handling (Norm Jacobs)
4. Fix hostname building from utmp (Cyrus Rahman)
3. Handle pending signals before flush so that the the history file
does not get truncated. (Ted Anderson)
2. Fix AsciiOnly setting that broke 8 bit input. (Juergen Keil)
1. remember to closedir in mailchk (from Werner Fink, reported by
David Binderman)
John Marino [Fri, 10 May 2013 23:19:36 +0000 (01:19 +0200)]
tcsh: Add more local modifications
- Remove whitespace from existing local modifications of tcsh.
- Remove two unused variables which break the build with -Werror.
- Disable format warning completely because every xprintf with %S
parameter breaks the build (it wants the argument to be cast to
wchar_t* rather than the provided Char*).
John Marino [Sat, 11 May 2013 01:29:13 +0000 (03:29 +0200)]
Merge branch 'vendor/TCSH'
Conflicts:
contrib/tcsh-6/sh.decls.h
John Marino [Fri, 10 May 2013 21:13:06 +0000 (23:13 +0200)]
Update tcsh from 6.17.00 to 6.18.01 on the vendor branch
Eitan Adler [Fri, 10 May 2013 18:24:39 +0000 (14:24 -0400)]
Add option 'dmesg -c' which clears the kernel buffer after it is printed.
Tested by: swildner
Matthew Dillon [Fri, 10 May 2013 09:54:16 +0000 (02:54 -0700)]
hammer2 - flush sequencing part 6 - stabilization pass
* Fix bug when chains are e.g. delete/duplicated where a flush can occur
out of order and retire more recent chain structures leaving older
CHAIN_DELETED structures behind. This caused the merged chain_find
and lookup/iteration code to improperly believe a slot was empty when
in fact the parent's bref array had a valid blockref.
Fixed by flagging the discrete chain->next_parent linkages with
CHAIN_IPACTIVE and adding a ref to the chain, which prevents them
from being retired out of order. This is currently being done
unconditionally (and probably has to be done unconditionally).
* Fix bug related to the clearing of SUBMODIFIED during a flush. Generally
speaking a flush pass clears SUBMODIFIED if no children were deferred.
The bug is that higher-level indirect-block chains closer to the root
are typically only modified during the flush as the deeper chains are
flushed recursively and rolled up into the parents on the way back up.
Because of this, these higher-level chains could represent more than one
flush synchronization point. When this situation is detected we now
set SUBMODIFIED here too.
* Consolidate ip->chain adjustments into the hammer2_inode_repoint()
procedure. Remove hammer2_inode_put().
* Cleanup some #if 0'd code that I won't be using.
Eitan Adler [Thu, 9 May 2013 04:40:23 +0000 (00:40 -0400)]
Update dutch calendar
On 30 April 2013 queen Beatrix resigned and crownprince Willem Alexander
became the new king. King's day is on 27 April.
Obtained From: FreeBSD (r250198)
Eitan Adler [Tue, 7 May 2013 01:07:31 +0000 (21:07 -0400)]
Add "SECURITY CONSIDERATIONS" to the mdoc template
Obtained from: FreeBSD
Sepherosa Ziehau [Fri, 10 May 2013 07:08:52 +0000 (15:08 +0800)]
bnx: Use different RX coalesce BDs for polling and interrupt mode
The value set by this commit for polling mode improves tiny packets
forwarding performance by +250Kpps in normal mode and +120Kpps in
fast mode.
Matthew Dillon [Fri, 10 May 2013 04:03:01 +0000 (21:03 -0700)]
hammer2 - flush sequencing part 5 - more flush synchronization work
* Get rid of chain->parent, replacing it with chain->above which is a
pointer to the core common to the possibly multiple parents. Due
to the multi-parenting, chain->parent was rather ad-hoc so getting
rid of makes the code more clear.
* Adjust several APIs which used to take a locked parent of chain to
instead take the core common to multiple parents of chain.
* Rework how CHAIN_MOVED is cleared. The code works better but still
has bugs which can leave chains hanging and unflushed on umount.
* Rework the lastdrop function significantly.
* Continue working on automatic delete/duplicate operation when a
modification crosses a synchronization boundary. This code is now
mostly implemented.
* Continue working on the flush filter which is responsible for
differentiating modifications made before and after the synchronization
point. The filter is now mostly implemented.
* Use spinlock protection on the rbtree, allowing manipulation of children
without having to lock a specific parent chain (which wouldn't help much
anyway since there can be more than one parent).
* Fix numerous assertions and panics.
Sepherosa Ziehau [Thu, 9 May 2013 13:59:11 +0000 (21:59 +0800)]
bnx: In polling mode, force chip update status block for status changes
If the status block updating is not forced, we will always see staled
status changes in polling mode, which causes bunch of unnecessary register
reading.
For status changes sharing status block with transmission, staled status
changes probably won't linger for too much time, since any data transmit
completion will cause status block to be updated. However, for status
changes using its own status block, staled status changes will be there
until the chips are stopped.
Sepherosa Ziehau [Wed, 8 May 2013 01:42:58 +0000 (09:42 +0800)]
bnx: Optimize RX STD ring refilling scheduling
At the end of the RX RET ring interrupt, the RX STD ring refilling is
scheduled only when the number of consumed RX BDs are more then half of
the RX STD ring size (256).
This reduces the IPI rate on CPU that performs the RX STD ring refilling
from ~17000ipis/s to ~4000ipis/s on the system with heavy network loading.
Eitan Adler [Tue, 7 May 2013 01:04:59 +0000 (21:04 -0400)]
Bring usb-hid-messages up to date
Obtained from: FreeBSD
Eitan Adler [Mon, 6 May 2013 21:29:48 +0000 (17:29 -0400)]
devd: Simplify handling of romeo_must_die
Obtained from: FreeBSD
Eitan Adler [Mon, 6 May 2013 21:29:03 +0000 (17:29 -0400)]
devd: Don't call string() explicitly
Obtained from: FreeBSD
Eitan Adler [Mon, 6 May 2013 21:29:36 +0000 (17:29 -0400)]
devd: Reduce diff with FreeBSD
* Update Warner's copyright
* Log to standard error instead of stdout.
* Add 'const' where possible
* Use pre increment rather than post increment for non-primative types.
Sepherosa Ziehau [Thu, 9 May 2013 03:24:03 +0000 (11:24 +0800)]
if: Update comment concerning subqueue; no functional changes
Sepherosa Ziehau [Thu, 9 May 2013 03:03:26 +0000 (11:03 +0800)]
ethernet: Update comment; no functional changes
Sepherosa Ziehau [Thu, 9 May 2013 02:32:44 +0000 (10:32 +0800)]
tso: Remove the pendantic tso_pullup functions
All of the drivers supporting TSO use the header lengthes stored in mbuf
pkthdr (csum_*hlen) to accelerate the transmit descriptors setup.
Sepherosa Ziehau [Thu, 9 May 2013 02:26:54 +0000 (10:26 +0800)]
ifq: Update comment; no functional changes
Sepherosa Ziehau [Thu, 9 May 2013 02:07:02 +0000 (10:07 +0800)]
ip_output: Always panic if the rtentry is not owned by the current cpu
It has been on for several releases; make it mandatory now
Sepherosa Ziehau [Thu, 9 May 2013 01:54:37 +0000 (09:54 +0800)]
busdma: Update manpage about BUS_SPACE_UNRESTRICTED
Reported-by: ftigeot@
Sepherosa Ziehau [Thu, 9 May 2013 01:21:38 +0000 (09:21 +0800)]
ifnet: Update and add comment; no functional changes
- Update various comment
- Remove no longer applied comment
- Add comment for ifaddr per-cpu container
- Add comment for per-cpu ifnet and ifaddr statistics
- Add comment for ifnet single serializer mode and multiple serializers
mode
- Add pseudo code in comment for ifnet multiple transmit queue support
John Marino [Wed, 8 May 2013 23:53:12 +0000 (01:53 +0200)]
awk: Update to version
20121220
* BK added __attribute__((__noreturn__)) to a couple of lines in
proto.h, to silence an enthusiastic checker.
* NK fixed obscure call by value bug in split(a[1],a) reported on
9fans. the management of temporary values is just a mess; he
took a shortcut by making an extra string copy.
* tiny fiddle in setfval to eliminate -0 results in T.expr, which
has irritated BK for 20+ years.
The README.DELETED file was relocated from the vendor branch to
the master branch to be consistent with how most of the vendor
branches are handled.
John Marino [Thu, 9 May 2013 00:47:07 +0000 (02:47 +0200)]
Merge branch 'vendor/AWK'
John Marino [Wed, 8 May 2013 23:40:12 +0000 (01:40 +0200)]
Update awk from
20110810 to
20121220 on vendor branch
Matthew Dillon [Thu, 9 May 2013 00:24:23 +0000 (17:24 -0700)]
hammer2 - flush sequencing part 4 - stabilization and cleanup, flush sep
* Fix bugs in the handling of DIRECTDATA. The data for small
files <= 512 bytes is stored in the inode itself using the
area that would otherwise contain the indirect block table.
Cleanup the flag handling for this data, ensure synchronous bwrite()s
for this data area (the strategy code for direct-data reads and writes
doesn't actually do any I/O), and ensure proper read-before-write
operation.
* Adjust hammer2_inode_create() and hammer2_chain_modify_ip() to take/return
(*chainp).
* Change the inode locking APIs to return the locked chain (unlocking APIs
take the locked chain as an argument). This allows the chain to be
manipulated by the code inbetween, including replacing it with other
chains, instead of the mess we had before where ip->chain had an implied
lock associated with it.
With this change, replacing ip->chain is just a matter of adjusting
ref counts and not also having to worry about locks.
* Modify the inode chain proactively instead of indirectly.
* Set HAMMER2_INODE_MODIFIED proactively instead of indirectly. This flag
is now only used to filter vfs_sync scans.
* Start working on flush transitions. hammer2_modify_chain() and friends
will now delete/duplicate an underlying chain that is already in the
MODIFIED state (returning the new chain) for the case where the previous
modifications are associated with a flush-in-progress and the current
modifications are outside of that flush.
* Add hammer2_chain_delete_duplicate(), a function which combines the
DELETE and duplication operation in one atomic op. Otherwise a lookup
or find can catch such operations in the middle and improperly believe
that the element is fully deleted when it isn't.
* Fix chain refs in a few places.
Matthew Dillon [Wed, 8 May 2013 23:11:55 +0000 (16:11 -0700)]
kernel - Wakeup p->p_step on procfs close.
* Wakeup p->p_step in addition to p->p_stype on procfs close.
Reported-by: vsrinivas
John Marino [Wed, 8 May 2013 18:52:13 +0000 (20:52 +0200)]
zlib: Upgrade from version 1.2.7 to 1.2.8
There were four releases since the last update. These bullets were
selectively removed from the Changelog:
Changes in 1.2.7.1 (24 Mar 2013)
- Replace use of unsafe string functions with snprintf if available
- Fix gzgetc undefine when Z_PREFIX set [Turk]
- Fix bug in 'F' mode for gzopen()
- Add inflateGetDictionary() function
- Correct comment in deflate.h
- Delete "--version" file if created by "ar --version" [Richard G.]
- Remove unused variable in infback9.c
- Fix argument checks in gzlog_compress() and gzlog_write()
- Clean up the usage of z_const and respect const usage within zlib
- Avoid shift equal to bits in type (caused endless loop)
- Fix unintialized value bug in gzputc() introduced by const patches
- Fix memory allocation error in examples/zran.c [Nor]
- Fix bug where gzopen(), gzclose() would write an empty file
- Fix bug in gzclose() when gzwrite() runs out of memory
- Add note to contrib/blast to use binary mode in stdio
- Fix comparisons of differently signed integers in contrib/blast
- Check for invalid code length codes in contrib/puff
- Fix serious but very rare decompression bug in inftrees.c
- Update inflateBack() comments, since inflate() can be faster
- Use underscored I/O function names for WINAPI_FAMILY
- Add _tr_flush_bits to the external symbols prefixed by --zprefix
- Fix casting error in contrib/testzlib/testzlib.c
- Fix types in contrib/minizip to match result of get_crc_table()
- Simplify contrib/vstudio/vc10 with 'd' suffix
- Fix typos in the use of _LARGEFILE64_SOURCE in zconf.h
- Add gzvprintf() as an undocumented function in zlib
- Remove runtime check in configure for four-byte integer type
- Add casts and consts to ease user conversion to C++
- Do not return Z_BUF_ERROR if deflateParam() has nothing to write
Changes in 1.2.7.2 (13 Apr 2013)
- Change check for a four-byte type back to hexadecimal
- Fix typo in win32/Makefile.msc
- Add casts in gzwrite.c for pointer differences
Changes in 1.2.7.3 (13 Apr 2013)
[Not applicable]
Changes in 1.2.8 (28 Apr 2013)
- Do not force Z_CONST for C++
- Correct spelling error in zlib.h
John Marino [Wed, 8 May 2013 19:37:49 +0000 (21:37 +0200)]
Merge branch 'vendor/ZLIB'
John Marino [Wed, 8 May 2013 18:27:59 +0000 (20:27 +0200)]
Update zlib from version 1.2.7 to 1.2.8 on vendor branch
Sascha Wildner [Wed, 8 May 2013 18:26:52 +0000 (20:26 +0200)]
kernel/acpi: Sync acpi_pci_link with FreeBSD.
* Fix use-after-free bug for extended IRQ resource[1].
* Some BIOSes use an Extended IRQ resource descriptor in _PRS for a link
that uses non-ISA IRQs but use a plain IRQ resource in _CRS. However,
a non-ISA IRQ can't fit into a plain IRQ resource. If we encounter a
link like this, build the resource buffer from _PRS instead of _CRS.
* Set the correct size of the end tag in a resource buffer.
* Make MALLOC_DEFINEs that have no corresponding MALLOC_DECLAREs static.
Reviewed-and-tested-by: sephe
John Marino [Wed, 8 May 2013 11:09:38 +0000 (13:09 +0200)]
gcc47: Update base compiler to from version 4.7.2 to 4.7.3
This is a bug fix release.
The official change page is http://gcc.gnu.org/gcc-4.7/changes.html
According to it, 119 bugs have been resolved since version 4.7.2 was released
although many of them are surely not applicable for DragonFly. The fixes
include 3 top priority bug reports and 27 second-priority bug reports.
John Marino [Wed, 8 May 2013 16:37:36 +0000 (18:37 +0200)]
Merge branch 'vendor/GCC47'
John Marino [Wed, 8 May 2013 10:35:36 +0000 (12:35 +0200)]
Upgrade GCC from 4.7.2 to 4.7.3 on the vendor branch
Sascha Wildner [Wed, 8 May 2013 15:35:43 +0000 (17:35 +0200)]
kernel/acpi: Fix a typo in a function name.
Sepherosa Ziehau [Wed, 8 May 2013 07:24:04 +0000 (15:24 +0800)]
syncache: Make sure the accepcted socket is created in the proper netisr
While, im here, remove the no longer applied comment; tcp threads are
long gone.
Matthew Dillon [Wed, 8 May 2013 02:37:48 +0000 (19:37 -0700)]
hammer2 - Add 'snapshot' directive
* Add the snapshot directive, which by default snapshots the current
directory or the specified directory.
A label is optional. If not specified the PFS name prefix and a timecode
postfix is constructed. Snapshots are created in the super-root, so use
pfs-list to list them along with any discrete PFS's.
* Fix the pfs-delete directive.
* Subdirectories of the H2 mount can be snapshotted with the caveat that
hardlinks which cross above the snapshot directory will not be in the
snapshot (have lookup failures when accessed via the snapshot).
Matthew Dillon [Wed, 8 May 2013 02:32:04 +0000 (19:32 -0700)]
hammer2 - flush sequencing part 3 - add snapshots
* Basic snapshot creation currently uses a duplicate/create sequence
to duplicate the directory being snapshotted, with caveats listed in
the TODO.
Snapshotting the mount point works as expected though work needs to be
done on the flushing. Snapshotting a subdirectory works with some
issues (hardlinks which span above the parent directory will not be
snapshotted).
* Add the PFS_SNAPSHOT ioctl for writable snapshot creation.
* Adjust the PFS_GET ioctl to support retrieval of the PFS specific to
the file descriptor.
* Implement PFS deletion and augment the unlink code to allow non-empty
snapshots to be deleted.
* Add restricted flushing to support flushing the snapshot concurrent to
modifying operations occurring during the snapshot flush. Untested.
Sascha Wildner [Tue, 7 May 2013 18:00:25 +0000 (20:00 +0200)]
bsd-family-tree: Sync with FreeBSD (adds OpenBSD 5.3 & DragonFly 3.4.1).
Eitan Adler [Mon, 6 May 2013 18:31:53 +0000 (14:31 -0400)]
devd: Prefer using the C++ version of the standard headers
These place the names within the std namespace (and possibly within the
global namespace).
The main advantage is that the C++ versions can provide optimized versions
or simplified interfaces.
Obtained From: FreeBSD (r250186)
Eitan Adler [Mon, 6 May 2013 18:46:09 +0000 (14:46 -0400)]
devd: Use simpler dst += *x instead of str.append(x, 1)
Also fix typo in comment
Obtained From: FreeBSD
Eitan Adler [Mon, 6 May 2013 18:49:18 +0000 (14:49 -0400)]
devd: Use string::empty() instead of string::length() == 0
Obtained From: FreeBSD
Eitan Adler [Mon, 6 May 2013 18:44:58 +0000 (14:44 -0400)]
devd: Use 'const' where possible
Eitan Adler [Mon, 6 May 2013 18:44:27 +0000 (14:44 -0400)]
devd: Use volatile sig_atomic_t...
...for the flag set by a signal handler. Remove call to _exit() from signal
handler, which also sets a stop flag.
Obtained From: FreeBSD
Eitan Adler [Mon, 6 May 2013 18:40:17 +0000 (14:40 -0400)]
devd: Prefer the use of initializer lists to ctor assignment
Eitan Adler [Mon, 6 May 2013 18:37:39 +0000 (14:37 -0400)]
devd: Avoid the creation of a temporary object...
...by using the prefix operator for non-primitive types.
Obtained From: FreeBSD (r243931)
Eitan Adler [Fri, 26 Apr 2013 17:57:15 +0000 (13:57 -0400)]
rm(1): Some minor style and bug fixes from FreeBSD
Sepherosa Ziehau [Mon, 6 May 2013 03:30:28 +0000 (11:30 +0800)]
bnx: Use different TX coalesce BDs for polling and interrupt mode
Justin C. Sherrill [Mon, 6 May 2013 02:26:03 +0000 (22:26 -0400)]
Remove advertising header from man pages.
By: Eitan Adler <lists@eitanadler.com>
Justin C. Sherrill [Mon, 6 May 2013 02:18:44 +0000 (22:18 -0400)]
Remove advertising clause from all that isn't contrib or userland bin.
By: Eitan Adler <lists@eitanadler.com>
Justin C. Sherrill [Mon, 6 May 2013 02:09:38 +0000 (22:09 -0400)]
Remove advertising header from all userland binaries.
From: Eitan Adler <lists@eitanadler.com>
François Tigeot [Sun, 5 May 2013 08:30:44 +0000 (10:30 +0200)]
ahci(4): Maximum I/O size is 2MB
Matthew Dillon [Sun, 5 May 2013 19:37:32 +0000 (12:37 -0700)]
cpdup - add -n (not-for-real) option
* Add cpdup -n, which causes cpdup to go through the motions but not
actually make any modifications.
Matthew Dillon [Sun, 5 May 2013 19:34:47 +0000 (12:34 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Sepherosa Ziehau [Sun, 5 May 2013 13:56:35 +0000 (21:56 +0800)]
bnx: Utilize hardware supplied RSS hash
The IP fragments detection is done in the same fashion as:
42ad0e07a760aa29981d4650100f65e770f8f144
which may need further investigation.
Sascha Wildner [Sun, 5 May 2013 10:46:02 +0000 (12:46 +0200)]
kernel/scsi_da: If booting verbosely, si_iosize_max when registering.
Sascha Wildner [Sun, 5 May 2013 10:31:50 +0000 (12:31 +0200)]
kernel/scsi_da: Use __func__ for printing function names.
François Tigeot [Sun, 5 May 2013 06:44:01 +0000 (08:44 +0200)]
sbp(4): Maximum I/O size is 512KB
Sascha Wildner [Sat, 4 May 2013 19:58:43 +0000 (21:58 +0200)]
Use C99 __func__ instead of __FUNCTION__.
Matthew Dillon [Sat, 4 May 2013 18:14:20 +0000 (11:14 -0700)]
hammer2 - flush sequencing part 2
* API adjustments. Add trans to setsubmod and pass &chain to
hammer2_chain_modify() so it can (soon) modify/duplicate and
return a different chain.
* Tentitively add flush_tid tracking to the hmp which will
soon be used by the modify code to determine when a duplication
is required.
Matthew Dillon [Sat, 4 May 2013 04:31:31 +0000 (21:31 -0700)]
hammer2 - flush sequencing part 1
* Rip out the jerry-rigged flush sequencer and start work on a real
one.
* Sync and fsync calls create synchronization points and will be serialized
against each other.
* Modifying operations occurring before a synchronization point will stall
modifying operations occurring after the synchronization point until
they complete. This will need to be optimized.
* However, the synchronization points are coded such that modifying operations
occurring after a synchronization point will be able to run concurrently
with the disk flush related to that synchronization point.
So if there is only one synchronization point (sync or fsync or background
sync) active, modifying operations will generally not stall. At least not
for very long.
Matthew Dillon [Fri, 3 May 2013 20:17:26 +0000 (13:17 -0700)]
hammer2 - Major restructuring, part 6/several
* Stabilization pass.
* Protect vfs_sync with a master lock to serialize operations, to protect
the master volume header sequencing. The related fsync scan will use the
same transaction id.
* Fix a bug where races could cause SUBMODIFIED set in deep chains to not
propagate back up to the root.
* Limit debug dumps on unmount.
* API adjustments.
Matthew Dillon [Fri, 3 May 2013 17:55:39 +0000 (10:55 -0700)]
hammer2 - Major restructuring, part 5/several
* Stabilization pass. Force VOP_WRITE operations on inode-embedded data
to be synchronous, otherwise the asynchronous strategy code can catch
inode->chain while it is in flux.