Sepherosa Ziehau [Mon, 28 Jan 2013 13:08:00 +0000 (21:08 +0800)]
if: Add function to set subqueue count
Sepherosa Ziehau [Mon, 28 Jan 2013 11:51:23 +0000 (19:51 +0800)]
igb: Add per-TX ring tx_pkt sysctl node, if IGB_TSS_DEBUG is enabled
Sepherosa Ziehau [Mon, 28 Jan 2013 09:53:23 +0000 (17:53 +0800)]
igb: Add IGB_TSS_DEBUG kernel option
Sepherosa Ziehau [Mon, 28 Jan 2013 09:45:50 +0000 (17:45 +0800)]
igb: Add per-TX ring enable flag.
For TX rings' whose enable flag are not set, which could happen during
polling entering/exiting, its corresponding subqueue will be purged.
Sepherosa Ziehau [Mon, 28 Jan 2013 09:36:36 +0000 (17:36 +0800)]
igb: Move IGB_FLAG_TSO_IPLEN0 into TX rings
Avoid extra access to softc and leave enough space for TX ring specific
flags.
Sepherosa Ziehau [Mon, 28 Jan 2013 09:22:17 +0000 (17:22 +0800)]
igb: Define macros for wreg_nsegs, instead of using magic number
Sepherosa Ziehau [Mon, 28 Jan 2013 01:57:04 +0000 (09:57 +0800)]
wlan: ifaltq is no longer ifqueue
Sepherosa Ziehau [Mon, 28 Jan 2013 01:43:03 +0000 (09:43 +0800)]
wlan: Remove unused ieee80211_drain_ifq
Sepherosa Ziehau [Sun, 27 Jan 2013 13:49:51 +0000 (21:49 +0800)]
igb: Make tx_intr_nsegs and tx_wreg_nsegs nodes aware of multiple TX queues
Sepherosa Ziehau [Sun, 27 Jan 2013 13:21:22 +0000 (21:21 +0800)]
igb: Merge per-RX queue rx_wregs into single rx_wreg_nsegs node
There is no use case that it needs to be tuned on per-RX queue base.
Sascha Wildner [Sat, 26 Jan 2013 13:58:32 +0000 (14:58 +0100)]
kernel/agp: No need to include opt_bus.h here.
Sascha Wildner [Fri, 25 Jan 2013 22:48:59 +0000 (23:48 +0100)]
kernel/mfi: Sort commands by opcode.
Sepherosa Ziehau [Fri, 25 Jan 2013 05:52:59 +0000 (13:52 +0800)]
igb: Don't assume only one TX queue will be enabled.
Prepare multiple TX queue support.
- Add TX queue count when MSI-X is used
- Add currently used TX queue count
Number of TX queues are still limited to 1 as of this commit.
Sepherosa Ziehau [Fri, 25 Jan 2013 04:33:14 +0000 (12:33 +0800)]
igb: Use ifsq_devstart_sched in watchdog and resume methods
So these two method won't consume too much time.
In watchdog method, schedule all subqueues instead of the subqueue
causing watchdog timeout.
Sepherosa Ziehau [Fri, 25 Jan 2013 03:34:36 +0000 (11:34 +0800)]
igb: Setup subqueue CPUID before possible calling of igb_init
Sepherosa Ziehau [Fri, 25 Jan 2013 03:31:01 +0000 (11:31 +0800)]
igb: Utilize subqueue watchdog functions
Prepare for the multiple TX queue support
Sepherosa Ziehau [Fri, 25 Jan 2013 03:29:47 +0000 (11:29 +0800)]
if: Add subqueue watchdog helper functions for driver use
Ease driver's multiple TX queue support
Sepherosa Ziehau [Thu, 24 Jan 2013 12:35:28 +0000 (20:35 +0800)]
igb: Properly set RX ring in use upon enter/exit polling mode
Venkatesh Srinivas [Sat, 19 Jan 2013 09:43:03 +0000 (01:43 -0800)]
kernel -- virtio: Implement virtio-layer lwkt_serializer for devices
* Switch virtio device targets (currently only -blk) to use a
serializer for synchronizing per-target state. Thread the
serializer through virtqueue_notify (release around kick) and
into the bus interrupt setup code.
* Remove dump support from virtio-blk for now; it doesn't work and
results in further panics from an incorrectly setup bio.
* Other cleanups of virtio-blk (de-indirect locks).
Matthew Dillon [Thu, 24 Jan 2013 02:35:10 +0000 (18:35 -0800)]
buildworld - Attempt to fix m4 bootstrapping issue (2)
* m4 depends on flex which exec's (depends on) m4.
* Change m4 to not depend on flex and reorder the [b]yacc build to run
before m4. M4's lex file is now manually generated and made part of
the source archive, and the Makefile simply compiles the .c version
instead of trying to run flex.
Any future update to m4 will require it's lex file to be manually
lex'd. Too bad, that's the way it goes. M4 is a piece of crap and
flex is an even bigger piece of crap for needing to exec M4. I'm not
going to play with this stuff more than I need to to make things compile.
* Remove conditionals from m4 .y and .l files. They were wrong because
they weren't necessarily reflective of which lexer was being run,
and now they aren't needed at all.
Matthew Dillon [Wed, 23 Jan 2013 21:56:37 +0000 (13:56 -0800)]
kernel - Do not allow (devfs) devices to be force-unmounted
* Do not force-unmount devfs devices. Even more importantly, don't
force-unmount devfs devices and then try to force-vflush them.
Filesystems have always been responsible for flushing their underlying
block devices.
These situations occur during halt/reboot.
* Fixes at least one issue when hammer's volume-add is used to specify
a block device in /dev which is then added to the root mount. This
created a situation where the /dev vs / unmount order breaks.
* Should also prevent e.g. the console or other vty hangers-on from being
destroyed out from under active descriptors during a halt or reboot.
Matthew Dillon [Wed, 23 Jan 2013 21:40:40 +0000 (13:40 -0800)]
buildworld - Attempt to fix m4 bootstrapping issue
* Set the M4 environment variable to force the buildworld to use the
bootstrap version of M4 in all passes. This removes the need to
manually build/install the m4 binary due to the recent major tools
refresh.
* Force build ordering for some of the bootstrap utilities, particularly
the m4 binary, so the binary is available to help build other bootstrap
tools later on.
Sascha Wildner [Wed, 23 Jan 2013 19:00:10 +0000 (20:00 +0100)]
m4.1: Remove some unneeded arguments to .Nm
Sascha Wildner [Wed, 23 Jan 2013 16:54:32 +0000 (17:54 +0100)]
Remove some more %D remains here and there.
Sepherosa Ziehau [Wed, 23 Jan 2013 12:37:49 +0000 (20:37 +0800)]
tcp: Limit new segements burst to 4 during extended limited transmit
Javier Alcázar [Thu, 3 Jan 2013 21:36:32 +0000 (06:36 +0900)]
TOP wasn't reporting correctly CPU states without -M
Adding code to get averages and updating man page.
This commit fixes issue #2447
Sepherosa Ziehau [Wed, 23 Jan 2013 11:24:03 +0000 (19:24 +0800)]
tcp: Add comment about "fairsend"
Sepherosa Ziehau [Wed, 23 Jan 2013 09:58:46 +0000 (17:58 +0800)]
ifconfig: IFF_OACTIVE and IFF_POLLING are gone
Sepherosa Ziehau [Wed, 23 Jan 2013 09:48:43 +0000 (17:48 +0800)]
sockio: Sort SIOC into numerical order
While im here, add comment about used SIOC in non-continuous SIOC block
Sepherosa Ziehau [Wed, 23 Jan 2013 09:34:33 +0000 (17:34 +0800)]
if: Update comment about polling cpuid ioctl variables, which is deprecated
Sepherosa Ziehau [Wed, 23 Jan 2013 09:21:03 +0000 (17:21 +0800)]
udp6: Remove pcb from wildcard table before calling in_pcbconnect
DragonFly-bug: http://bugs.dragonflybsd.org/issues/2485
Matthew Dillon [Wed, 23 Jan 2013 00:51:52 +0000 (16:51 -0800)]
kernel - Fix improper tmpfs resource limit check
* Fix an improper check that was causing tmpfs to blow up when used as
backing store for a VN device.
Reported-by: tuxillo
Sascha Wildner [Tue, 22 Jan 2013 19:19:38 +0000 (20:19 +0100)]
kernel/amr: Extend the visibility of AMR_DEBUG.
Half the code was missing the setting of AMR_DEBUG in the config file
because its visibility was reduced to amr.c only.
Reported-by: tuxillo
Antonio Huete Jimenez [Tue, 22 Jan 2013 18:49:00 +0000 (19:49 +0100)]
Replace few more cases where %D format string is used.
Also remove a reference to %D in kvcprintf's comment.
Sepherosa Ziehau [Thu, 17 Jan 2013 08:33:55 +0000 (16:33 +0800)]
tcp: Improve sender-sender and sender-receiver fairness on the same netisr
Yield to other senders or receivers on the same netisr if the current TCP
stream has sent certain amount of segments (currently 4) and is going to
burst more segments. sysctl net.inet.tcp.fairsend could be used to tune
how many segements are allowed to burst. For TSO capable devices, their
TSO aggregate size limit could also affect the number of segments allowed
to burst. Set net.inet.tcp.fairsend to 0 will allow single TCP stream to
burst as much as it wants (the old TCP sender's behaviour).
"Fairsend" is performed at the places that do not affect segment sending
during congestion control:
- User requested output path
- ACK input path
Measured improvement in the following setup:
+---+ +---+
| |<-----------| B |
| | +---+
| A |
| | +---+
| |----------->| C |
+---+ +---+
A (i7-2600, w/ HT enabled), 82571EB
B (e3-1230, w/ HT enabled), 82574L
C (e3-1230, w/ HT enabled), 82574L
The performance stats are gathered from 'systat -if 1'
When A runs 8 TCP senders to C and 8 TCP receivers from B, sending
performance are same ~975Mbps, however, the receiving performance before
this commit stumbles between 670Mbps and 850Mbps; w/ "fairsend" receiving
performance stays at 981Mbps.
When A runs 16 TCP senders to C and 16 TCP receivers from B, sending
performance are same ~975Mbps, however, the receiving performance before
this commit goes from 960Mbps to 980Mbps; w/ "fairsend" receiving
performance stays at 981Mbps stably.
When there are more senders and receivers running on A, there is no
noticable performance difference on either sending or receiving between
non-"fairsend" and "fairsend", because senders are no longer being able
to do continuous large burst.
"Fairsend" also improves Jain's fairness index between various amount of
senders (8 ~ 128) a little bit (sending only tests).
Sepherosa Ziehau [Wed, 16 Jan 2013 11:02:36 +0000 (19:02 +0800)]
tcp/tso: Add per-device TSO aggregation size limit
- Prevent possible TSO large burst, when it is inappropriate (plenty of
>24 segements bursts were observered, even when 32 parallel sending TCP
streams are running on the same GigE NIC).
TSO large burst has following drawbacks on a single TX queue, even on
the devices that are multiple TX queues capable:
o Delay other senders' packet transmission quite a lot.
o Has negative effect on TCP receivers, which sends ACKs.
o Cause buffer bloat in software sending queues, whose upper limit is
based on "packet count".
o Packet scheduler's decision could be less effective.
On the other hand, TSO large burst could improve CPU usage.
- Improve fairness between multiple TX queues on the devices that are
multiple TX queues capable but only fetch data on TSO large packet
boundary instead of TCP segment boundary.
Drivers could supply their own TSO aggregation size limit. If driver
does not set it, the default value is 6000 (4 segments if MTU is 1500).
The default value increases CPU usage a little bit: on i7-2600 w/ HT
enabled, single TCP sending stream, CPU usage increases from 14%~17%
to 17%~20%.
User could configure TSO aggregation size limit by using ifconfig(8):
ifconfig ifaceX tsolen _n_
Sascha Wildner [Mon, 21 Jan 2013 18:28:54 +0000 (19:28 +0100)]
kernel/nexus: Remove some unneeded includes.
Sascha Wildner [Sun, 20 Jan 2013 10:52:59 +0000 (11:52 +0100)]
kernel/802_11: Put a couple more ethstr[] under IEEE80211_DEBUG.
Sascha Wildner [Sat, 19 Jan 2013 23:02:26 +0000 (00:02 +0100)]
libdmsg: Mark some return values unused.
Sascha Wildner [Sat, 19 Jan 2013 23:01:05 +0000 (00:01 +0100)]
libfetch: Remove an unused variable.
Sascha Wildner [Sat, 19 Jan 2013 23:05:28 +0000 (00:05 +0100)]
bmake: Mark a return value unused.
Sascha Wildner [Sat, 19 Jan 2013 22:58:40 +0000 (23:58 +0100)]
libdmsg: last{dist,rnss} are used with REQUIRE_SYMMETRICAL only.
While here, also remove two unused variables.
Sascha Wildner [Sat, 19 Jan 2013 22:41:46 +0000 (23:41 +0100)]
m4/ngctl/ppp: Silence gcc47 -Wcast-qual warnings.
Sascha Wildner [Sat, 19 Jan 2013 12:42:36 +0000 (13:42 +0100)]
hotplugd(8): Remove some compat defines and add comments about it.
Sascha Wildner [Sat, 19 Jan 2013 21:21:12 +0000 (22:21 +0100)]
Fix buildkernel for lex/yacc upgrades, too.
John Marino [Sat, 19 Jan 2013 16:32:39 +0000 (17:32 +0100)]
m4: define yylex based on __DragonFly_version
The old lex wants it and emits errors if it's not there.
The new lex doesn't want it, and emits warnings if it is there.
On gcc44, the build breaks on an error.
To make both happy, switch it on based on recent __DragonFly_version bump.
Bump __DragonFly_version to be 100% everyone can upgrade
John Marino [Sat, 19 Jan 2013 17:59:03 +0000 (18:59 +0100)]
atc game: lex cleanup
Peter Avalos [Sat, 19 Jan 2013 13:59:58 +0000 (05:59 -0800)]
Fix warnings from byacc import.
Peter Avalos [Sat, 19 Jan 2013 11:05:28 +0000 (03:05 -0800)]
Update build for byacc import.
Peter Avalos [Sat, 19 Jan 2013 11:01:30 +0000 (03:01 -0800)]
Merge branch 'vendor/BYACC'
Peter Avalos [Sat, 19 Jan 2013 10:03:58 +0000 (02:03 -0800)]
Import byacc-
20121003.
This is a significant update for yacc that's being maintained by Thomas
Dickey at http://invisible-island.net/byacc/.
Sascha Wildner [Thu, 17 Jan 2013 18:01:19 +0000 (19:01 +0100)]
Revert "gcc4x: Update README to remove format.c from patched list"
This reverts commit
fc18d536e167227d9010b0ce3420f5d21aba5799.
%D was removed, true, but c-format.c is still patched.
John Marino [Thu, 17 Jan 2013 14:43:05 +0000 (15:43 +0100)]
Relocate Flexlexer.h to /usr/include
FlexLexer was placed in /usr/include/c++ but this is not the normal
location nor is it a search path for either base compiler. I believe
this is a legacy that should have been changed when the c++ search
path changed.
John Marino [Thu, 17 Jan 2013 13:33:50 +0000 (14:33 +0100)]
flex cleanup, silence errors
On the poudriere jail build, it was impossible to build world due to
flex errors. I don't know what is different about the environments --
perhaps one has -Werror and the other doesn't.
In any case, the new flex makes a lot of complaints due to internally
generated functions, etc, and this cleans them all up at once.
Sascha Wildner [Wed, 16 Jan 2013 20:34:26 +0000 (21:34 +0100)]
kernel/wlan_acl: Put two more ethstr[] under IEEE80211_DEBUG.
Sascha Wildner [Wed, 16 Jan 2013 20:29:09 +0000 (21:29 +0100)]
kernel/netgraph7: Use kether_ntoa().
Sascha Wildner [Wed, 16 Jan 2013 20:19:51 +0000 (21:19 +0100)]
kernel/netgraph7: Fix cluster_limit argument to objcache_create_mbacked().
Sascha Wildner [Wed, 16 Jan 2013 20:19:44 +0000 (21:19 +0100)]
kernel/netgraph7: Add a missing header to the Makefile.
Sascha Wildner [Wed, 16 Jan 2013 20:14:31 +0000 (21:14 +0100)]
kernel/netgraph7: Remove <sys/ktr.h>. There's no DragonFly KTR here.
Sascha Wildner [Wed, 16 Jan 2013 19:52:24 +0000 (20:52 +0100)]
kernel: Fix the build of the SOEKRIS kernel config.
It's the only one that has if_ath and 80211 in the kernel and ATH_DEBUG
and IEEE80211_DEBUG isn't set at the same time. So it caught a few
ethstr[] that were not yet under the proper #ifdef.
John Marino [Wed, 16 Jan 2013 02:05:46 +0000 (03:05 +0100)]
flex/lex: Activate flex 2.5.37, deactivate lex 2.5.4
Flex is a bootstrap tool. This swaps the new flex for the old lex.
The old lex subdirectory should stay in place for around a week in case
we need to revert this change for any reason.
John Marino [Wed, 16 Jan 2013 01:50:25 +0000 (02:50 +0100)]
flex: Add world makefiles, but don't tie it into build yet.
John Marino [Wed, 16 Jan 2013 01:47:11 +0000 (02:47 +0100)]
flex: Add local modifications and DragonFly READMEs
The quality of the latest flex 2.5.37 release is pretty poor. The
man page displayed the wrong version, the code doesn't compile with
GCC 4.7, the new lerrs_fatal function missing a protocol and then
given the wrong type once when it was called. Some of the errors
could have been fixed with higher WARNS settings but these patches
applied over the flex vendor branch should fix the bugs.
The standard DragonFly README files are added at the same time.
John Marino [Wed, 16 Jan 2013 01:39:56 +0000 (02:39 +0100)]
Merge branch 'vendor/FLEX'
John Marino [Wed, 16 Jan 2013 01:38:47 +0000 (02:38 +0100)]
Import flex-2.5.37 to new vendor branch
John Marino [Wed, 16 Jan 2013 03:01:38 +0000 (04:01 +0100)]
am-utils: Patch for recent flex
To prepare for the import of the latest flex, am-utils needs a tweak.
This allows both the old flex and the new flex to build it. It is the
only software that failed to build out of the box with the new flex.
John Marino [Tue, 15 Jan 2013 17:17:07 +0000 (18:17 +0100)]
.gitignore: Remove build products from list
The following patterns were previously active.
They have been commented out because the system "make" will pick up build
products in the source tree causing strange build failures. The benefit
of avoiding an accidental commit of a binary is quickly offset by the
liability of chasing build failures caused by "invisible" files. This
has burned a few people already and even the source of bug reports.
*.[psS]o
!/contrib/nvi/docs/USD.doc/vi.ref/index.so
!/contrib/nvi/docs/USD.doc/vi.ref/ref.so
*.a
!/bin/csh/USD.doc/csh.a
*.o
John Marino [Tue, 15 Jan 2013 16:55:49 +0000 (17:55 +0100)]
gcc4x: Update README to remove format.c from patched list
This is the result of %D format being removed by swildner yesterday.
Sascha Wildner [Fri, 21 Dec 2012 20:20:04 +0000 (21:20 +0100)]
Remove %D conversion from kprintf(9) and the GCCs.
It has been removed also from libstand's printf.
While useful, these non-standard conversions have the downside that
each compiler needs adjusting to support proper printf format warnings
for them.
We have now a kether_ntoa() function to serve the purpose of %D
Antonio Huete Jimenez [Sun, 13 Jan 2013 12:25:22 +0000 (13:25 +0100)]
kern - More work replacing %D
Use hexncpy() for special cases where, for example,
a different separator might be needed.
Antonio Huete Jimenez [Sat, 12 Jan 2013 20:45:20 +0000 (21:45 +0100)]
libkern - Add new function hexncpy.
Antonio Huete Jimenez [Fri, 28 Dec 2012 19:50:28 +0000 (20:50 +0100)]
kern - Utilize new way of printing MAC addresses.
kether_aton() function is being used to return a buffer
with the human readable notation of an ethernet address.
Antonio Huete Jimenez [Fri, 28 Dec 2012 19:49:17 +0000 (20:49 +0100)]
kern - Add kether_ntoa, kether_aton functions.
- kether_aton() converts a human readable MAC string to an
ethernet address.
- kether_ntoa() converts ethernet addresses into human readable
MAC string.
Human readable notation is specified in IEEE 802.
John Marino [Mon, 14 Jan 2013 08:12:44 +0000 (09:12 +0100)]
share/mk/sys.mk: Remove X11BASE definition
X11BASE is defined in pkgsrc mk files; it is not necessary to predefine
it in DragonFly's sys.mk. Doing so will break support for dports.
Peter Avalos [Tue, 15 Jan 2013 06:26:10 +0000 (22:26 -0800)]
Add regression tests for m4.
Obtained-from: FreeBSD
Peter Avalos [Tue, 15 Jan 2013 05:59:24 +0000 (21:59 -0800)]
m4: Sync with FreeBSD.
This improves compat with GNU m4 and brings the code closer to NetBSD
and OpenBSD.
Obtained-from: FreeBSD
Sascha Wildner [Mon, 14 Jan 2013 18:22:58 +0000 (19:22 +0100)]
kernel/usb4bsd: Fix sizeof().
Sascha Wildner [Mon, 14 Jan 2013 00:25:46 +0000 (01:25 +0100)]
tws(4): Add MSI support.
John Marino [Sun, 13 Jan 2013 17:37:59 +0000 (18:37 +0100)]
sys/param.h: Bump __DragonFly_version due to fpsave area changes
Sepherosa Ziehau [Sun, 13 Jan 2013 12:03:42 +0000 (20:03 +0800)]
if: Optimize ifnet_serialize_array_ function a little bit
IFNET_SERIALIZE_ALL is only used on init, stop and configuration path,
which is much less often then IFNET_SERIALIZE_TX; use __predict_false
for IFNET_SERIALIZE_ALL.
Sepherosa Ziehau [Sun, 13 Jan 2013 11:36:03 +0000 (19:36 +0800)]
if: Remove unused IFNET serializer enum, macros and functions.
Sepherosa Ziehau [Sun, 13 Jan 2013 10:42:45 +0000 (18:42 +0800)]
if: Multiple TX queue support step 3 of 3; map CPUID to subqueue
Add CPUID to subqueue mapping method to ifaltq. Driver could provide
its own CPUID to subqueue mapping method through ifnet.if_mapsubq,
which is used when ALTQ's packet scheduler is not enabled. ALTQ's
packet schedulers always map CPUID to the default subqueue.
Sepherosa Ziehau [Sun, 13 Jan 2013 09:24:01 +0000 (17:24 +0800)]
if: Remove unused if_start_nmsg from ifnet
While im here, adjust comment in ifnet a little bit
Sepherosa Ziehau [Sun, 13 Jan 2013 09:10:32 +0000 (17:10 +0800)]
if: Multiple TX queue support step 2 of many
ifnet_{serialize,deserialize,tryserialize}_tx and hardware TX serializer
asserion macros now require subqueue, so the proper hardware TX queue's
serializer could be held, released and asserted.
Sepherosa Ziehau [Sun, 13 Jan 2013 04:24:11 +0000 (12:24 +0800)]
if: Free subqueue memory upon if_detach
Sepherosa Ziehau [Fri, 11 Jan 2013 05:31:30 +0000 (13:31 +0800)]
if: Multiple TX queue support step 1 of many; introduce ifaltq subqueue
Put the plain queue information, e.g. queue header and tail, serializer,
packet staging scoreboard and ifnet.if_start schedule netmsg etc. into
its own structure (subqueue). ifaltq structure could have multiple of
subqueues based on the count that drivers can specify.
Subqueue's enqueue, dequeue, purging and states updating are protected
by the subqueue's serializer, so for hardwares supporting multiple TX
queues, contention on queuing operation could be greatly reduced.
The subqueue is passed to if_start to let the driver know which hardware
TX queue to work on. Only the related driver's TX queue serializer will
be held, so for hardwares supporting multiple TX queues, contention on
driver's TX queue serializer could be greatly reduced.
Bunch of ifsq_ prefixed functions are added, which is used to perform
various operations on subqueues. Commonly used ifq_ prefixed functions
are still kept mainly for the drivers which do not support multiple TX
queues (well, these functions also ease the netif/ convertion in this
step :).
All of the pseudo network devices under sys/net are converted to use the
new subqueue operation. netproto/802_11 is converted too. igb(4) is
converted to use the new subqueue operation, the rest of the network
drivers are only changed for the if_start interface modification.
For ALTQs which have packet scheduler enabled, only the first subqueue
is used (*).
(*) Whether we should utilize multiple TX queues if ALTQ's packet scheduler
is enabled is quite questionable. Mainly because hardware's multiple TX
queue packet dequeue mechanism could have negative impact on ALTQ's packet
scheduler's decision.
Justin C. Sherrill [Sun, 13 Jan 2013 01:39:16 +0000 (20:39 -0500)]
Updated the tip URL for the mailing list archives.
Matthew Dillon [Sun, 13 Jan 2013 00:16:11 +0000 (16:16 -0800)]
kernel - Fix signal FP save/restore issues when AVX is enabled
* The kernel was not saving/restoring the full FP context when entering into
or returning from a signal, leading to corrupt FP registers even when
AVX is not used, when AVX is enabled in the kernel.
ANY SIGNAL COULD CORRUPT THE FP STATE.
* Fixed by adjusting the on-user-stack fpsave area sizes and operation.
* This unfortunately changes a number of user visible structures.
ucontext_t, mcontext_t, sigcontext, sigframe.
It is POSSIBLE that most userland use cases will be unaffected, but I'm
not holding my breath.
Major-Sleuthing-by: ftigeot
Testing-by: ftigeot, dillon
Sascha Wildner [Sat, 12 Jan 2013 09:56:40 +0000 (10:56 +0100)]
virtio.4: virtio_pci has no own manpage. Also use .Nm for self-reference.
Matthew Dillon [Fri, 11 Jan 2013 22:08:37 +0000 (14:08 -0800)]
hammer - Change depth limit warning kprintf to krateprintf
* Limit a warning kprintf to 1hz.
Sascha Wildner [Thu, 10 Jan 2013 22:26:13 +0000 (23:26 +0100)]
kernel: Silence gcc47's -Wcast-qual warnings.
Sascha Wildner [Wed, 9 Jan 2013 13:19:36 +0000 (14:19 +0100)]
kernel: Remove some unused variables in the rest of the kernel tree.
Sascha Wildner [Wed, 9 Jan 2013 13:17:37 +0000 (14:17 +0100)]
kernel: Remove some unused variables in the serial drivers.
Sascha Wildner [Wed, 9 Jan 2013 12:51:21 +0000 (13:51 +0100)]
kernel: Remove some more unused variables in the network drivers.
Sascha Wildner [Wed, 9 Jan 2013 12:37:06 +0000 (13:37 +0100)]
kernel/net: Remove some unused variables.
Sascha Wildner [Wed, 9 Jan 2013 12:29:51 +0000 (13:29 +0100)]
kernel/sound: Remove some unused variables.
Sascha Wildner [Wed, 9 Jan 2013 12:35:04 +0000 (13:35 +0100)]
kernel/netinet: Remove some unused variables.
Sascha Wildner [Tue, 8 Jan 2013 18:21:35 +0000 (19:21 +0100)]
kernel/vfs: Remove some unused variables.
Sascha Wildner [Tue, 8 Jan 2013 15:48:15 +0000 (16:48 +0100)]
kernel/bus: Remove some unused variables and put others in #ifdef...
Sascha Wildner [Mon, 7 Jan 2013 20:54:01 +0000 (21:54 +0100)]
kernel: Remove some unused variables in RAID and disk drivers.