7 years agokernel - Fix minor reporting bug in ecc update
Charlie Root [Fri, 6 Sep 2013 05:04:47 +0000 (22:04 -0700)]
kernel - Fix minor reporting bug in ecc update

* Fix a minor constant comparison test when reporting invalid
  ECC modes.  The constants were normalized to bit 0 but the
  register extraction had not been shifted over.

7 years agoecc: Add E3-1200 v2 and E3-1200 V3 support
Sepherosa Ziehau [Fri, 6 Sep 2013 04:29:27 +0000 (12:29 +0800)]
ecc: Add E3-1200 v2 and E3-1200 V3 support

7 years agokernel/ddb: Fix formatting when printing command tables.
Sascha Wildner [Thu, 5 Sep 2013 20:38:10 +0000 (22:38 +0200)]
kernel/ddb: Fix formatting when printing command tables.

FreeBSD's r163134:

Fixed formatting of printing of command tables.  With the default max
output width of 79, only 6 columns of width 12 each fit, but 7 columns
were printed.

The fix is to pass the width of the next output to db_end_line() and
not assume there that this width is always 1.

Related unfixed bugs:
- 1 character is wasted for a space after the last column
- suppression of trailing spaces used to limit the misformatting, but
  seems to have been lost
- in db_examine(), the width of the next output is not known and is
  still assumed to be 1.

Taken-from: FreeBSD

7 years agokernel - Change time_second to time_uptime for all expiration calculations (2)
Matthew Dillon [Thu, 5 Sep 2013 19:19:25 +0000 (12:19 -0700)]
kernel - Change time_second to time_uptime for all expiration calculations (2)

* Fix userspace issues calculating rmx_expire for display due to
  time_second -> time_uptime change.

  The route, arp, ndp, and rarpd utilities are affected by this change.

7 years agokernel - Change time_second to time_uptime for all expiration calculations
Matthew Dillon [Thu, 5 Sep 2013 19:06:13 +0000 (12:06 -0700)]
kernel - Change time_second to time_uptime for all expiration calculations

* Vet the entire kernel and change use cases for expiration calculations
  using time_second to use time_uptime instead.

* Protects these expiration calculations from step changes in the wall time,
  particularly needed for route table entries.

* Probably requires further variable type adjustments but the use of
  time_uptime instead if time_second is highly unlikely to ever overrun
  any demotions to int still present.

7 years agokernel - ipv6 - Fix broken 'invalid mtu expiration time' message
Matthew Dillon [Thu, 5 Sep 2013 17:00:12 +0000 (10:00 -0700)]
kernel - ipv6 - Fix broken 'invalid mtu expiration time' message

* Fix broken 'invalid mtu expiration time' message on the console.

Reported-by: tuxillo
7 years agotest/vkernel - Fix build.
Antonio Huete Jimenez [Thu, 5 Sep 2013 13:58:27 +0000 (06:58 -0700)]
test/vkernel - Fix build.

7 years agoBring in DIRFS: A filesystem for VKERNELS
Antonio Huete Jimenez [Wed, 22 Aug 2012 12:53:18 +0000 (14:53 +0200)]
Bring in DIRFS: A filesystem for VKERNELS

* What is DIRFS?
  dirfs is a pseudo-filesystem specific for vkernel(7) which allows mounting
  host's directories into the vkernel. It runs directly in the vkernel's VFS
  code, as any other regular filesystem, but it does syscalls (vkernels are
  userland programs) to retrieve or post the information needed on every
  operation requested.

  Needless to say that the operations that you can perform in the host
  directories/files depend on the permissions the user that runs the vkernel.
  For example, you will not be able to 'chflags schg' if you run the vkernel
  with a regular user and not with root.

* How does it work?
  It basically works like any other filesystem. It has its own mount_dirfs
  command that will be called by the system's mount(8) command when needed.

vkernel64 # mount -t dirfs /usr/src2 /mnt
vkernel64 # df -h /mnt
Filesystem        Size   Used  Avail Capacity  Mounted on
dirfs@/usr/src2    47G    36G    12G    75%    /mnt

  Umounting is a normal operation too:

  vkernel64 # mount | fgrep dirfs
dirfs@/usr/src2 on /mnt (dirfs)
vkernel64 # umount /mnt

* What's the current status
  Currently it is in a *experimental* status, with (probably) many bugs and some
  parts missing.

  - Make dirfs mpsafe.
  - Fix problems with multiple mount points.
  - Implement VOP_NLINK so that hardlinks are possible.
  - Add missing kqueue(2) support.
  - dirfs root so that a vkernel can be booted from it.
  - Locking mechanisms for opened fds between host <-> vkernel.
  - Make sure dirfs is properly restored after vkernel checkpointing
    (upcoming GSoC project).
  - Bug hunting & bug fixing.
  - Any ideas?

7 years agokernel - ipv6 - correct route table callout timer calculation
Matthew Dillon [Wed, 4 Sep 2013 23:27:56 +0000 (16:27 -0700)]
kernel - ipv6 - correct route table callout timer calculation

* Correct the route table callout timer calculation which geometrically
  increases to the point where it isn't called any more.

7 years agode.4: Mention that Microsoft Virtual PC and Hyper-V have de(4) adapters.
Sascha Wildner [Wed, 4 Sep 2013 22:14:37 +0000 (00:14 +0200)]
de.4: Mention that Microsoft Virtual PC and Hyper-V have de(4) adapters.

Therefore, we'd like to keep this driver.

Hyper-V also comes with its specific virtual adapter, but we don't have
support for that yet.

7 years agokernel - IPV6 subnet routing / proxy ND6 (bridge support)
Matthew Dillon [Wed, 4 Sep 2013 20:59:14 +0000 (13:59 -0700)]
kernel - IPV6 subnet routing / proxy ND6 (bridge support)

* Support IPV6 subnet routing and proxy ND6 through bridged interfaces.
  Essentially all the members of the bridge have to be treated as the
  bridge itself for comparison and MAC address handling.

* Prevents the nd6 proxy code from treating two interfaces which are part
  of the same bridge as being different, which would trigger an improper
  proxy ND6.

7 years agolibsmb: Allow libsmb to detect if smbfs.ko is loaded.
Sascha Wildner [Wed, 4 Sep 2013 20:13:04 +0000 (22:13 +0200)]
libsmb: Allow libsmb to detect if smbfs.ko is loaded.

7 years agokernel - Implement IPV6 subnet routing / proxy ND6 (equiv to proxy ARP)
Matthew Dillon [Wed, 4 Sep 2013 17:39:55 +0000 (10:39 -0700)]
kernel - Implement IPV6 subnet routing / proxy ND6 (equiv to proxy ARP)

* Do not require per-host RTF_ANNOUNCE/AF_LINK entries.  They still
  work but they aren't needed any more (and they are such a huge bitch
  to set up anyway... best to avoid them).

* Machine must have net.inet6.ip6.forwarding mode enabled.

* Internet-facing interface must be promiscuous mode.

* Will automatically proxy ND6 any subnets if the interface
  is different from the one receiving the multicast.  So e.g.
  you can route IPV6 which would otherwise have to be switched.

  The subnet interface must currently be different because if it
  were the same the solicitation would be directly received by the
  target host anyway (being a multicast) and we would compete with
  it.  This is also a good safety.


  ifconfig igb0 inet6 2999:499:1:555:1::72/80 For DNS
  ifconfig igb0 inet6 2999:499:1:555:1::1/80 For subnet default route
  ifconfig igb1 inet6 2999:499:1:555::2/80 For internet router
  ifconfig igb1 promisc
  route add -inet6 default 2999:499:1:555::1

  The internet router is doing a terminal /64 block, e.g. it's address
  is 2999:499:1:555::1/64, but we want to break the net up further and
  route portions of it instead of switch.

7 years agokernel/drm: Fix AGP detection for Matrox cards.
Sascha Wildner [Wed, 4 Sep 2013 16:18:59 +0000 (18:18 +0200)]
kernel/drm: Fix AGP detection for Matrox cards.

Since DRM drivers attach to vgapci, we need to look at the grandparent.

7 years agoem.4: I217 and I218 are taken by emx
Sepherosa Ziehau [Wed, 4 Sep 2013 13:33:18 +0000 (21:33 +0800)]
em.4: I217 and I218 are taken by emx

7 years agoemx: Add I217/I218
Sepherosa Ziehau [Wed, 4 Sep 2013 12:36:11 +0000 (20:36 +0800)]
emx: Add I217/I218

According to the datasheet, these two chips support 2 RX queues at least.

7 years agotmpfs - Remove duplicated checks in tmpfs_chflags()
Antonio Huete Jimenez [Wed, 4 Sep 2013 10:22:27 +0000 (12:22 +0200)]
tmpfs - Remove duplicated checks in tmpfs_chflags()

* Do not duplicate the checks that vop_helper_setattr_flags() already performed.
* On tmpfs_mount(), root node already has set SF_NOCACHE on its vnode.

7 years agovkernel32 - Change VM_MAX_USER_ADDRESS to match the real kernel.
Antonio Huete Jimenez [Wed, 4 Sep 2013 10:13:45 +0000 (12:13 +0200)]
vkernel32 - Change VM_MAX_USER_ADDRESS to match the real kernel.

Pointed-out-by: dillon
7 years agoem.4: TSO is supported on all PCI-E chips; properly mention I217/I218
Sepherosa Ziehau [Wed, 4 Sep 2013 09:39:10 +0000 (17:39 +0800)]
em.4: TSO is supported on all PCI-E chips; properly mention I217/I218

7 years agore: Add 8401/8402/8106 support
Sepherosa Ziehau [Wed, 4 Sep 2013 09:25:34 +0000 (17:25 +0800)]
re: Add 8401/8402/8106 support

- Fix setup for certain generation of 8105E
- 8101, 8102 and 8105 all need to extract ethernet address from EEPROM

7 years agoem: Move max_frame_size from softc to HAL data struct
Sepherosa Ziehau [Wed, 4 Sep 2013 08:30:29 +0000 (16:30 +0800)]
em: Move max_frame_size from softc to HAL data struct

It is needed to make I217 link status detection work

7 years agore: Add 8411/8168G/8168EP/8168GU/8411B support
Sepherosa Ziehau [Wed, 4 Sep 2013 08:27:09 +0000 (16:27 +0800)]
re: Add 8411/8168G/8168EP/8168GU/8411B support

7 years agore: Remove the macver, which only serves proper EEPROM address handling
Sepherosa Ziehau [Wed, 4 Sep 2013 06:31:14 +0000 (14:31 +0800)]
re: Remove the macver, which only serves proper EEPROM address handling

7 years agore: Add more hardware revision for 10/100 chips
Sepherosa Ziehau [Wed, 4 Sep 2013 06:02:41 +0000 (14:02 +0800)]
re: Add more hardware revision for 10/100 chips

7 years agore: Add more hardware revision for 8411 and newer 8168
Sepherosa Ziehau [Wed, 4 Sep 2013 05:47:35 +0000 (13:47 +0800)]
re: Add more hardware revision for 8411 and newer 8168

7 years agore: Change the hardware revision mask
Sepherosa Ziehau [Wed, 4 Sep 2013 05:17:35 +0000 (13:17 +0800)]
re: Change the hardware revision mask

This keeps us align w/ Realtek's 8168/8101 Linux driver

7 years agoig_hal: Move e1000_phy_i217 close to e1000_phy_82579
Sepherosa Ziehau [Wed, 4 Sep 2013 01:40:43 +0000 (09:40 +0800)]
ig_hal: Move e1000_phy_i217 close to e1000_phy_82579

I217 belongs to the previous generation of Intel PRO/1000

7 years agore: Always log unknown hardware revision
Sepherosa Ziehau [Wed, 4 Sep 2013 01:30:07 +0000 (09:30 +0800)]
re: Always log unknown hardware revision

7 years agoem: Disable EEE by default
Sepherosa Ziehau [Wed, 4 Sep 2013 01:29:45 +0000 (09:29 +0800)]
em: Disable EEE by default

7 years agoRemove old drmn.ko module via 'make upgrade'.
Sascha Wildner [Tue, 3 Sep 2013 17:38:30 +0000 (19:38 +0200)]
Remove old drmn.ko module via 'make upgrade'.

7 years agokernel: Remove drmn leftover.
Sascha Wildner [Tue, 3 Sep 2013 17:33:49 +0000 (19:33 +0200)]
kernel: Remove drmn leftover.

7 years agodisklabel64 - Increased verification of the partition format.
Antonio Huete Jimenez [Tue, 3 Sep 2013 12:02:00 +0000 (14:02 +0200)]
disklabel64 - Increased verification of the partition format.

* Check whether the filesystem type is specified when
  formatting partitions.

a: * 0

  would cause a SEGFAULT due the filesystem field not being present.

Fix has been taken from disklabel32.

7 years agotest/vkernel - Allow using HAMMER filesystem as vkernel root.
Antonio Huete Jimenez [Tue, 3 Sep 2013 11:54:10 +0000 (13:54 +0200)]
test/vkernel - Allow using HAMMER filesystem as vkernel root.

7 years agokernel/i386: Implement pmap_invalidate_cache_pages()
François Tigeot [Tue, 3 Sep 2013 13:11:02 +0000 (15:11 +0200)]
kernel/i386: Implement pmap_invalidate_cache_pages()

7 years agoigb.4: Mention I354
Sepherosa Ziehau [Tue, 3 Sep 2013 12:28:23 +0000 (20:28 +0800)]
igb.4: Mention I354

7 years agoem.4: Update date
Sepherosa Ziehau [Tue, 3 Sep 2013 12:20:40 +0000 (20:20 +0800)]
em.4: Update date

7 years agoigb: Merge Intel igb-2.3.10
Sepherosa Ziehau [Tue, 3 Sep 2013 12:05:07 +0000 (20:05 +0800)]
igb: Merge Intel igb-2.3.10

- More I210 chips are supported
- Add I354 support
- Fix multicast filtering settings if promisc mode exits

7 years agoem.4: Update
Sepherosa Ziehau [Tue, 3 Sep 2013 08:50:35 +0000 (16:50 +0800)]
em.4: Update

7 years agoem: Enable TSO on all PCI-E chips
Sepherosa Ziehau [Tue, 3 Sep 2013 08:30:58 +0000 (16:30 +0800)]
em: Enable TSO on all PCI-E chips

7 years agoem: Merge Intel em-7.3.8; mainly add i217 and i218 support
Sepherosa Ziehau [Tue, 3 Sep 2013 08:23:58 +0000 (16:23 +0800)]
em: Merge Intel em-7.3.8; mainly add i217 and i218 support

7 years agokernel/x86_64: Unbreak kernel building with drm in the config.
Sascha Wildner [Tue, 3 Sep 2013 06:16:45 +0000 (08:16 +0200)]
kernel/x86_64: Unbreak kernel building with drm in the config.

7 years agoig_hal: Merge Intel em-7.3.8 and igb-2.3.10 hardware abstraction layer
Sepherosa Ziehau [Fri, 30 Aug 2013 08:12:22 +0000 (16:12 +0800)]
ig_hal: Merge Intel em-7.3.8 and igb-2.3.10 hardware abstraction layer

7 years agokernel/ahci: Add support for nvidia MCP79 AHCI.
Sascha Wildner [Mon, 2 Sep 2013 18:25:24 +0000 (20:25 +0200)]
kernel/ahci: Add support for nvidia MCP79 AHCI.

Submitted-by: Ed Berger
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2583>

7 years agokernel: Fix compilation errors on i386
François Tigeot [Mon, 2 Sep 2013 07:35:59 +0000 (09:35 +0200)]
kernel: Fix compilation errors on i386

7 years agopppd.8: Fix two references.
Sascha Wildner [Sun, 1 Sep 2013 21:34:31 +0000 (23:34 +0200)]
pppd.8: Fix two references.

7 years agodrm: Merge the drm and drm2 implementations
François Tigeot [Sun, 1 Sep 2013 19:38:11 +0000 (21:38 +0200)]
drm: Merge the drm and drm2 implementations

* Move the drm2 i915 driver to sys/dev/drm/i915kms

* The legacy i915 driver remains untouched

* Only sys/dev/drm/ shall remain

7 years agodrm/mach_64: Fix white spaces.
jkim [Tue, 23 Apr 2013 18:30:33 +0000 (18:30 +0000)]
drm/mach_64: Fix white spaces.

This brings us on part with FreeBSD commit r249816 (2013-04-23 20:30:33 +0200)

7 years agokernel: Rewrite kmem_alloc_attr()
François Tigeot [Sun, 1 Sep 2013 09:20:14 +0000 (11:20 +0200)]
kernel: Rewrite kmem_alloc_attr()

This prevents random kernel panics after Xorg exit with the new
drm scather-gather memory allocation code

7 years agodrm: Partial sync with FreeBSD
François Tigeot [Fri, 30 Aug 2013 06:46:37 +0000 (08:46 +0200)]
drm: Partial sync with FreeBSD

7 years agopppd.8: conversion to mdoc(7)
Franco Fichtner [Sat, 31 Aug 2013 10:34:57 +0000 (12:34 +0200)]
pppd.8: conversion to mdoc(7)

Major overhaul of a well-written manual page.  The content has
been shuffled around and subtly cleaned where appropriate.

Suggested-by: swildner
7 years agokernel: Fix some void functions returning the results of void functions.
Sascha Wildner [Sat, 31 Aug 2013 07:56:00 +0000 (09:56 +0200)]
kernel: Fix some void functions returning the results of void functions.

It was found with -pedantic, since -Wreturn-type will not warn about this
as long as the calling function has a return type of void, too.

7 years agosystat - cleanup netbw/pftop (2)
Matthew Dillon [Fri, 30 Aug 2013 23:34:40 +0000 (16:34 -0700)]
systat - cleanup netbw/pftop (2)

* Cleanup pass, fix a few bugs.

7 years agosystat - cleanup netbw/pftop
Matthew Dillon [Fri, 30 Aug 2013 23:22:57 +0000 (16:22 -0700)]
systat - cleanup netbw/pftop

* Cleanup pass, fix a few bugs.

7 years agosystat - Add -pftop feature to display active PF state table traffic
Matthew Dillon [Fri, 30 Aug 2013 22:30:19 +0000 (15:30 -0700)]
systat - Add -pftop feature to display active PF state table traffic

* Add the -pftop (:pftop) feature.  This feature displays all active
  PF states.  PF (packet filter) must be active for this feature to be

  Only those states which are actively passing traffic are displayed,
  which makes this a lot more useful than a raw 'pfctl -s state' dump.

* Display is sorted by highest aggregate receive+transmit bandwidth.

7 years agoclog.8: break line after a sentence
Franco Fichtner [Fri, 30 Aug 2013 08:22:32 +0000 (10:22 +0200)]
clog.8: break line after a sentence

7 years agosyslog - add rexmit to -netbw
Matthew Dillon [Fri, 30 Aug 2013 06:41:08 +0000 (23:41 -0700)]
syslog - add rexmit to -netbw

* Add aggregate byte retransmission rate

7 years agosystat - further enhance -netbw
Matthew Dillon [Fri, 30 Aug 2013 06:36:21 +0000 (23:36 -0700)]
systat - further enhance -netbw

* Print IPs in a more readable fashion
* A better IP:port sort order
* Better alignment
* Add interesting state and TCP flags

7 years agosystat - Add -netbw option
Matthew Dillon [Fri, 30 Aug 2013 04:26:09 +0000 (21:26 -0700)]
systat - Add -netbw option

* Add a new option -netbw (or :netbw when running).  This option displays
  the aggregate and per-connection tcp receive and send data rate.

  Only active connections are shown, making it easy to pick out which
  connections are hogging the line.

7 years agokernel/ed: Fix typo in a variable name.
Sascha Wildner [Fri, 30 Aug 2013 02:48:45 +0000 (04:48 +0200)]
kernel/ed: Fix typo in a variable name.

7 years agotest/vkernel - Additions to leaf target
Antonio Huete Jimenez [Fri, 30 Aug 2013 00:06:38 +0000 (17:06 -0700)]
test/vkernel - Additions to leaf target

* Add nameservers to resolv.conf

7 years agofix mandoc(1) warnings in usr.sbin/
Franco Fichtner [Tue, 27 Aug 2013 20:38:19 +0000 (22:38 +0200)]
fix mandoc(1) warnings in usr.sbin/

7 years agotools/accept_connect: Remove unused .gitignore
Sepherosa Ziehau [Thu, 29 Aug 2013 06:15:36 +0000 (14:15 +0800)]
tools/accept_connect: Remove unused .gitignore

7 years agotcp: Implement random initial msgport
Sepherosa Ziehau [Wed, 28 Aug 2013 07:11:43 +0000 (15:11 +0800)]
tcp: Implement random initial msgport

After e368a6e95e2cd9556a3e0fc43167d2dcf3a8253f, it is found that the
left bottle neck of nonblocking TCP connect(2) performance is that all
socket(2) and initial TCP connect operation (bind laddr and lport) are
all carried out in netisr0; CPU0 is 100% busy during test.

The idea of random initial msgport for TCP is that instead of using
netisr0's msgport as initial msgport, we could use any of the available
netisr msgport to carry out socket(2) and initial TCP connect operation.

Most of parts of TCP are already ready for random initial msgport, only
TCP pru_listen requires trivial modification to fix the socket msgport
to netisr0's msgport (which is required to perform global wild hashtable

As of this commit, the current CPU's netisr msgport will be selected as
TCP socket's initial msgport, if random initial msgport is enabled.

Sysctl node kern.ipc.rand_initport is added to disable this optimization.
It is enabled by default.

This commit improves both nonblocking TCP connect(2) and blocking TCP
connect(2) performance.

Nonblocking connect(2) performance measurement (i7-2600 w/ bnx(4)), using

    kq_connect_client -4 SERVADDR -p SERVPORT -i 8 -c 32 -l 30
    (8 processes, each creates 32 connections simultaniously)

16 run average:
    random initial msgport          netisr0 msgport
      263915.17 conns/s            220979.89 conns/s

This commit gives ~19% performance improvement for nonblocking connect(2)

Blocking connect(2) performance measurement (i7-2600 w/ bnx(4)), using

    connect_client -4 SERVADDR -p SERVPORT -i 256 -l 30
    (256 processes)

16 run average:
    random initial msgport          netisr0 msgport
      240235.23 conns/s            198312.87 conns/s

This commit gives ~21% performance improvement for blocking connect(2)

7 years agoinpcb: Make sure that inp_cpcbinfo always points to the correct pcbinfo
Sepherosa Ziehau [Wed, 28 Aug 2013 06:45:05 +0000 (14:45 +0800)]
inpcb: Make sure that inp_cpcbinfo always points to the correct pcbinfo

7 years agokernel: Fix LINT too.
Sascha Wildner [Wed, 28 Aug 2013 06:40:07 +0000 (08:40 +0200)]
kernel: Fix LINT too.

7 years agoproto: Fix comment
Sepherosa Ziehau [Wed, 28 Aug 2013 05:47:18 +0000 (13:47 +0800)]
proto: Fix comment

7 years agotcp: Fix comment
Sepherosa Ziehau [Wed, 28 Aug 2013 05:37:00 +0000 (13:37 +0800)]
tcp: Fix comment

7 years agobuild: Unbreak LINT64 building
Sepherosa Ziehau [Wed, 28 Aug 2013 05:17:44 +0000 (13:17 +0800)]
build: Unbreak LINT64 building

7 years agotcp: Implement asynchronous pru_connect
Sepherosa Ziehau [Tue, 20 Aug 2013 12:52:35 +0000 (20:52 +0800)]
tcp: Implement asynchronous pru_connect

This is mainly used to improve TCP nonblocking connect(2) performance.

Before this commit the user space thread uses nonblocking connect(2)
will have to wait for the netisr completes the SYN output.  This could
be performance hit for nonblocking connect(2).  First, the user space
thread is put into sleep, even if the connect(2) is nonblocking.
Second, it does not make too much sense for nonblocking connect(2) to
wait for the SYN output.

TCP's asynchronous pru_connect implementation will set ISCONNECTING
before dispatching netmsg to netisr0.  The errors like EADDRNOTAVAIL,
i.e. out of local port space, will be notified through kevent(2) or
getsockopt(2) SOL_SOCKET/SO_ERROR.

NFS and other kernel code still use old synchronized pru_connect.  This
commit only affects connect(2) syscall.

Sysctl node kern.ipc.soconnect_async is added to enable and disable
asynchronous pru_connect.  It is enabled by default.

The performance measurement (i7-2600 w/ bnx(4)), using

    kq_connect_client -4 SERVADDR -p SERVPORT -i 8 -c 32 -l 30
    (8 processes, each creates 32 connections simultaniously, run 30 secs)

16 runs average:

    asynchronous pru_connect        synchronized pru_connect
        220979.89 conns/s               189106.88 conns/s

This commit gives ~16% performance improvement for nonblocking connect(2)

7 years agotools: Add test for nonblocking connect(2) performance measurement
Sepherosa Ziehau [Wed, 28 Aug 2013 03:16:49 +0000 (11:16 +0800)]
tools: Add test for nonblocking connect(2) performance measurement

7 years agovga_pci: Add API to map the Video BIOS
François Tigeot [Tue, 27 Aug 2013 10:17:12 +0000 (12:17 +0200)]
vga_pci: Add API to map the Video BIOS

Obtained-from: FreeBSD
SVN commit r254882 and a few missing bits

7 years agokernel/i386: Implement pmap_mapbios()
François Tigeot [Sun, 25 Aug 2013 19:57:49 +0000 (21:57 +0200)]
kernel/i386: Implement pmap_mapbios()

7 years agokernel/i386: Add PAT support, mapdev_attr, kmem_alloc_attr
François Tigeot [Tue, 27 Aug 2013 06:49:11 +0000 (08:49 +0200)]
kernel/i386: Add PAT support, mapdev_attr, kmem_alloc_attr

7 years agokernel/i386: add pmap_invalidate* functions
François Tigeot [Sun, 25 Aug 2013 11:54:12 +0000 (13:54 +0200)]
kernel/i386: add pmap_invalidate* functions

They are roughly similar to the amd64 implementations but due to
i386 pmap shortcomings we have to completely flush cpu caches in
some cases, which is not ideal performance-wise.

7 years agotop.1: Remove unnecessary .Nm argument.
Sascha Wildner [Tue, 27 Aug 2013 10:05:29 +0000 (12:05 +0200)]
top.1: Remove unnecessary .Nm argument.

7 years agokernel: Add three missing ')', two of them in (yet) unused code.
Sascha Wildner [Mon, 26 Aug 2013 18:51:02 +0000 (20:51 +0200)]
kernel: Add three missing ')', two of them in (yet) unused code.

7 years agokernel/cam: Fix I/O performance regression seen at least in VMware ESXi.
Sascha Wildner [Sun, 25 Aug 2013 18:15:37 +0000 (20:15 +0200)]
kernel/cam: Fix I/O performance regression seen at least in VMware ESXi.

This brings in FreeBSD's revisions 188570, 188670, 188671 and 188688.
188670 (most changed lines in the patch) is for debugging purposes only,
while 188570 and 188671 fix the actual issue and 188688 fixes gcc whining.

Reported-and-tested-by: Dongsheng Song <dongsheng.song@gmail.com>
Extra credit to vsrinivas who had actually pointed out 188570 to us a
while ago before it hit us now but at the time I hadn't noticed.

Quoting FreeBSD's commit messages:

In the case that the probe has determined that it can't query the device
for a serial number, fall through to the next case so that initial
negotiation still happens.  Without this, devices were showing up with
only 1 available tag opening, leading to observations of very poor I/O

This should fix problems reported with VMWare Fusion and ESX.  Early
generation MPT-SAS controllers with SATA disks might also be affected.
HP CISS controllers are also likely affected, as are many other
pseudo-scsi disk subsystems.

Fix parallel SCSI negotiation in the CAM_NEW_TRAN_CODE world order.
Overzealous sanity checks were locking the sync_rate and offset values
to zero, thanks to a twisty maze of recursive code.

7 years agofix mandoc(1) warnings in sbin/
Franco Fichtner [Sat, 24 Aug 2013 11:58:44 +0000 (13:58 +0200)]
fix mandoc(1) warnings in sbin/

dump.8 bits taken from FreeBSD.

7 years agogroff(1): disable hyphenation and change bullet representation
Franco Fichtner [Sat, 24 Aug 2013 10:49:11 +0000 (12:49 +0200)]
groff(1): disable hyphenation and change bullet representation

In order to switch to mandoc(1) eventually we want groff(1) to
output manual pages as similar as possible.  Hyphenation is the
biggest offender.

Approved-by: swildner
Taken-from:  OpenBSD

7 years agogroff: Commit our local patches.
Sascha Wildner [Sat, 24 Aug 2013 18:52:02 +0000 (20:52 +0200)]
groff: Commit our local patches.

7 years agoAvoid calling chn_wrfeed with an empty soft buffer
Francis GUDIN [Fri, 3 May 2013 12:28:27 +0000 (14:28 +0200)]
Avoid calling chn_wrfeed with an empty soft buffer

7 years agokernel: Add some missing sound devices to the LINT configs.
Sascha Wildner [Sun, 25 Aug 2013 06:00:13 +0000 (08:00 +0200)]
kernel: Add some missing sound devices to the LINT configs.

7 years agokernel: Remove unused lines in pc64's 'files' file.
Sascha Wildner [Sat, 24 Aug 2013 01:16:44 +0000 (03:16 +0200)]
kernel: Remove unused lines in pc64's 'files' file.

7 years agokernel: Add 'targ' and 'targbh' devices to the LINT configs.
Sascha Wildner [Sat, 24 Aug 2013 00:27:44 +0000 (02:27 +0200)]
kernel: Add 'targ' and 'targbh' devices to the LINT configs.

7 years agokernel: Remove some unused lines from 'files' files.
Sascha Wildner [Sat, 24 Aug 2013 00:17:07 +0000 (02:17 +0200)]
kernel: Remove some unused lines from 'files' files.

7 years agokernel: Remove another syslink related file which was forgotten earlier.
Sascha Wildner [Fri, 23 Aug 2013 23:54:33 +0000 (01:54 +0200)]
kernel: Remove another syslink related file which was forgotten earlier.

Approved-by: dillon
7 years agokernel/usb4bsd: Remove the Makefile for usbdevs{,_data}.h generation.
Sascha Wildner [Fri, 23 Aug 2013 23:37:58 +0000 (01:37 +0200)]
kernel/usb4bsd: Remove the Makefile for usbdevs{,_data}.h generation.

7 years agokernel/usb4bsd: Switch to generating usbdevs{,_data}.h during the build.
Sascha Wildner [Fri, 23 Aug 2013 23:33:22 +0000 (01:33 +0200)]
kernel/usb4bsd: Switch to generating usbdevs{,_data}.h during the build.

Taken-from: FreeBSD

7 years agokernel/drm2: Fix for kernels that don't have DDB compiled in.
Sascha Wildner [Thu, 22 Aug 2013 11:55:41 +0000 (13:55 +0200)]
kernel/drm2: Fix for kernels that don't have DDB compiled in.

7 years agotop.1: mdoc conversion
Sascha Wildner [Wed, 21 Aug 2013 17:36:00 +0000 (19:36 +0200)]
top.1: mdoc conversion

unixtop has gone to sleep since 2008 and most changes we did to its
manual page were documenting stuff we added ourselves.

Convert it to mdoc to make this process easier in the future.

Submitted-by: Franco Fichtner <franco@lastsummer.de>
7 years agousb4bsd: Add a usb_quirk(4) manual page (from FreeBSD).
Sascha Wildner [Tue, 20 Aug 2013 14:36:42 +0000 (16:36 +0200)]
usb4bsd: Add a usb_quirk(4) manual page (from FreeBSD).

7 years agouipc: Reference the originator thread if asynchronized pru_send is used
Sepherosa Ziehau [Tue, 20 Aug 2013 10:59:08 +0000 (18:59 +0800)]
uipc: Reference the originator thread if asynchronized pru_send is used

It is required for UDP asynchronized pru_send, which could access the
originator's thread.

7 years agokernel/usb4bsd: Bring in urtwn(4) and firmware.
Sascha Wildner [Mon, 19 Aug 2013 19:53:36 +0000 (21:53 +0200)]
kernel/usb4bsd: Bring in urtwn(4) and firmware.

It passes initial testing, but of course there might still be uncaught

Taken-from: FreeBSD

7 years agoiwi.4: Fix wording.
Sascha Wildner [Mon, 19 Aug 2013 19:29:07 +0000 (21:29 +0200)]
iwi.4: Fix wording.

7 years agohier.7: Move .Pp to the right place.
Sascha Wildner [Mon, 19 Aug 2013 03:01:37 +0000 (05:01 +0200)]
hier.7: Move .Pp to the right place.

7 years agokernel/usb4bsd: Remove forgotten wlan_serialize_exit() in run(4).
Sascha Wildner [Mon, 19 Aug 2013 02:46:43 +0000 (04:46 +0200)]
kernel/usb4bsd: Remove forgotten wlan_serialize_exit() in run(4).

Spotted-by: sephe
7 years agohier.7: Add missing .Pp
Sascha Wildner [Mon, 19 Aug 2013 00:45:39 +0000 (02:45 +0200)]
hier.7: Add missing .Pp

7 years agoAnother typo fixing round (in messages and manpages) across the tree.
Sascha Wildner [Mon, 19 Aug 2013 02:41:27 +0000 (04:41 +0200)]
Another typo fixing round (in messages and manpages) across the tree.

7 years agokernel/usb4bsd: Warning fix and minor adjustments from FreeBSD for xhci.
Sascha Wildner [Sun, 18 Aug 2013 18:46:25 +0000 (20:46 +0200)]
kernel/usb4bsd: Warning fix and minor adjustments from FreeBSD for xhci.

7 years agokernel/usb4bsd: Remove unnecessary NULL checks in rum(4) and run(4).
Sascha Wildner [Sun, 18 Aug 2013 16:12:56 +0000 (18:12 +0200)]
kernel/usb4bsd: Remove unnecessary NULL checks in rum(4) and run(4).