DragonFlyBSD/src 04d1e55share/misc pci_vendors

Update the pciconf(8) database.

October 13, 2018 snapshot from https://pci-ids.ucw.cz
+55-181 files

DragonFlyBSD/src 10981c7sys/kern tty_tty.c, sys/vfs/tmpfs tmpfs_subr.c

kernel - Remove two debug messages

* Remove the debug messages for two cases which have been validated
  to occur under synth loads, thus these code paths have been tested.

DragonFlyBSD/src cc3c231nrelease Makefile

nrelease - Use built boot blocks instead of system boot blocks

* Adjust the nrelease Makefile to install the boot blocks from
  the nrelease build into the image instead of the boot blocks
  from the running system.

Submitted-by: NI33 (irc)
+3-21 files

DragonFlyBSD/src d9a1074etc Makefile, etc/mtree BSD.var.dist BSD.usr.dist

openresolv: Bind to system as resolvconf(8)

The resolvconf(8) will be used by dhcpcd(8), which will be imported
later to provide out-of-box IPv6 DHCP support, replacing the IPv4-only
dhclient(8) in base and the rtsold(8).

Thanks to swildner for reviewing and providing suggestions.

DragonFlyBSD/src a91130dcontrib/openresolv README.DRAGONFLY README.DELETED

openresolv: Add READMEs

DragonFlyBSD/src 6ba76e5contrib/openresolv resolvconf.in resolvconf.conf.5.in

Merge branch 'vendor/OPENRESOLV'

DragonFlyBSD/src 8382a10contrib/openresolv resolvconf.in resolvconf.conf.5.in

Import openresolv 3.9.0

Version: 3.9.0
Date: 2016-Dec-30
Homepage: https://roy.marples.name/projects/openresolv

DragonFlyBSD/src 169b6cesys/dev/drm/include/linux ww_mutex.h

drm/linux: Fix potential ww mutex induced panics

ww mutex locking functions can be called with a NULL ctx and were
happily setting both lock->acquired to non-zero and lock->ctx to
NULL, a combination which other parts of our ww mutex implementation
assume is not possible.

Obtained-from: OpenBSD

DragonFlyBSD/src 8e5d7c4sys/kern subr_cpu_topology.c, sys/platform/pc64/acpica acpi_srat.c

kernel - Fix NUMA contention due to assymetric memory

* Fix NUMA contention in situations where memory is associated
  with CPU cores assymetrically.  In particular, with the 2990WX,
  half the cores will have no memory associated with them.

* This was forcing DFly to allocate memory from queues belonging to
  other nearby cores, causing unnecessary SMP contention, as well
  as burn extra time iterating queues.

* Fix by calculating the average number of free pages per-core,
  and then adjust any VM page queue with pages less than the average
  by stealing pages from queues with greater than the average.
  We use a simple iterator to steal pages, so the CPUs with less
  (or zero) direct-attached memory will operate more UMA-like
  (just on 4K boundaries instead of 256-1024 byte boundaries).

* Tested with a 64-thread concurrent compile test.  systat -pv 1
  showed all remaining contention disappear.  Literally, *ZERO*
  contention when we run the test with each thread in its own jail
  with no shared resources.

* NOTE!  This fix is specific to asymetric NUMA configurations
  which are fairly rare in the wild and will not speed up more
  conventional systems.

    [16 lines not shown]

DragonFlyBSD/src 5fc68e2sys/dev/drm/radeon radeon_object.c

drm/radeon: add missing ttm_eu_backoff_reservation to radeon_bo_list_validate

DragonFlyBSD/src 2c5cc6bsys/dev/drm/radeon radeon_irq_kms.c radeon_pm.c

drm/radeon: Finish replacing task queues by Linux work queues

DragonFlyBSD/src a39b247sys/dev/drm/radeon radeon_drv.h sumo_dpm.h

drm/radeon: Reduce differences with Linux 3.18

No functional changes

DragonFlyBSD/src 5396612sys/dev/drm/include/linux power_supply.h rwsem.h

drm/linux: Add a few headers

DragonFlyBSD/src 5da8dffsys/kern syscalls.master init_sysent.c, sys/sys sysproto.h syscall.h

kernel: Clean up syscalls.master a bit more.

All this and also f29ea48f7a62b011be75119d46acd81bee2dd8ee could have
been cleaned up in d6e8ab2d2508bde32ad7b7daaf86d44ec7330986.

While here, also remove some obsolete comments.

DragonFlyBSD/src e26d350sys/vm vm_extern.h

<vm/vm_extern.h>: Remove some dead code.
+0-141 files

DragonFlyBSD/src 533f1ebsys/kern syscalls.master init_sysent.c, sys/sys syscall.h

syscalls.master: Remove a leftover semicolon.

DragonFlyBSD/src f29ea48include signal.h, lib/libc/sys sigstack.2 sigaltstack.2

kernel/libc: Remove sigstack() remains.

There is no sigstack() syscall anymore in DragonFly, besides being
obsolete, so remove some remains like the manual page and prototype,
and do some related cleanup.

DragonFlyBSD/src d7d2af7sys/dev/drm/include/linux interval_tree.h

drm: Add linux/interval_tree.h

DragonFlyBSD/src 21c41fasys/dev/drm/include/linux rcupdate.h

drm/linux: Add rcu_dereference_protected()

DragonFlyBSD/src 347aefcsbin/sysctl sysctl.c, share/man/man9 sysctl.9 sysctl_add_oid.9

kernel: Add further support for fixed-width integer type sysctls.

U32 support was added in c48b2bac286ed1aaa6b974adfbc844e82bc65f38.

QUAD and UQUAD are now aliases of S64 and U64.

Taken-from: FreeBSD

DragonFlyBSD/src e511760sys/kern tty.c

kernel - Refactor tty clist code (2)

* Fix initialization of high water mark, the last commit accidently
  removed it.

* Fixes issue with slow console output (emacs, alt-x "shell", then
  'ls' or whatever).

Reported-by: tuxillo
+33-111 files

DragonFlyBSD/src 050656a. Makefile_upgrade.inc

Remove <sys/clist.h> via 'make upgrade'.

DragonFlyBSD/src 5715de3sys/kern kern_exit.c

kernel - Fix missing tokens in killalllwps()

* There appears to be at least one code path where killalllwps()
  is being called without the necessary tokens held.

* Just have the routine itself obtain the necessary tokens.

* Might be responsible for extremely rare core-dump stop/wait

DragonFlyBSD/src 2efb75fsys/dev/misc/kbd kbd.c, sys/dev/misc/snp snp.c

kernel - Refactor tty_token, fix SMP performance issues

* Remove most uses of tty_token in favor of per-tty tp->t_token.
  This is particularly important for removing bottlenecks related to PTYs,
  which are used all over the place.  tty_token remains in a few places
  managing overall registration and global list manipulation.

* tty structures are now required to be persistent.  Implement a sepearate
  ttyinit() function.  Continue to allow ttyregister() and ttyunregister()
  calls, but these no longer presume destruction of the structure.

* Refactor ttymalloc() to take a **tty pointer and interlock allocations.
  Allocations are intended to be one-time.  ttymalloc() only requires the
  tty_token for initial allocations.

* Remove all critical section use that was combined with tty_token and
  tp->t_token.  Leave only the tokens.  The critical sections were
  hold-overs going all the way back to pre-SMP days.

* syscons now gets its own token, vga_token.  The ISA VGA code and
  the framebuffer code also now use this token instead of tty_token.

* The keyboard subsystem now uses kbd_token instead of tty_token.

* A few remaining serial-like devices (snp, nmdm) also get their own

    [6 lines not shown]

DragonFlyBSD/src 4725869sys/kern tty_subr.c tty.c, sys/net/sl if_sl.c

kernel - Refactor tty clist code

* Remove all the old cruft, completely rewrite the clist code to use
  a single linear buffer and a FIFO mechanism.

* The linear buffer just uses 16-bit elements in order to record
  TTY_QUOTE along with the character.

* Fixes bug in last commit (lack of global locks around global clist
  caches) by removing the cache entirely.

DragonFlyBSD/src ba59fa7sys/dev/misc/ichwd ichwd.h

ichwd - Fix typo in TCO2_CNT register #define.

* The TCO2_CNT isn't actually used in the driver at the moment.

DragonFlyBSD/src 82b0523share/man/man9 ioctl.9

ioctl.9: nwfs(4) is no longer in our tree.

It was removed in 6f25d5554e6df42aa5235bf7e3e8e1cc9da25eec.

DragonFlyBSD/src c585ae0sys/dev/serial/digi Xem.bios.h CX_PCI.fepos.h, sys/dev/serial/si si3_t225.c

kernel: Remove some old serial drivers.

Namely digi(4), rp(4) and si(4) (the latter along with its userland
utility sicontrol(8)). It is unlikely that these work properly any

In preparation for the upcoming tty_token work by dillon.

Requested-by: dillon

DragonFlyBSD/src 4e079e3sys/kern lwkt_token.c

kernel/lwkt_token: Fix indent.
+18-181 files

DragonFlyBSD/src e79b36csys/kern lwkt_token.c

kernel - Change pool token hash

* Change the pool token hash to something less stupid.

* Improve lwkt.tokens_debug_output to also output the address of
  the actual token instead of just its name.  This will help us
  track down pool token collisions a bit better.
+19-131 files

DragonFlyBSD/src f07e643sys/bus/smbus/ichsmb ichsmb_pci.c

ichsmb - Add additional PCI IDs to ichsmb.

* This moves from a long switch statement to a lookup table.

Taken-From: FreeBSD

DragonFlyBSD/src 86615efsys/contrib/dev/acpica changes.txt, sys/contrib/dev/acpica/source/compiler asltransform.c aslmessages.c

Sync ACPICA with Intel's version 20181003:

* Fix a regression that could cause the compiler to fault.

* New remark for excessively long Sleep()s.

For detailed list, please see sys/contrib/dev/acpica/changes.txt.

DragonFlyBSD/src 50a1f59sys/bus/pci pcivar.h, sys/vfs/ufs ffs_alloc.c

kernel - Remove duplicate TRIM, only trim with the 'trim' mount opt

* ffs_blkfree_cg() was improperly issuing a synchronous
  VOP_FREEBLKS() on the underlying device.  This issues a
  BUF_CMD_FREEBLKS stategy op to the underlying device,
  which is executed unconditionally.  This basically runs
  an unconditional TRIM whether the 'trim' mount flag is
  specified or not.

  Remove the VOP_FREEBLKS() call.

* For softupdates operation, ffs_blkfree() handles the
  'trim' mount flag by issuing a BUF_CMD_FREEBLKS and
  sequencing the call to ffs_blkfree_cg() when it completes.

  When 'trim' was enabled, *two* TRIM operations were being
  executed on the underlying device, and prior to our fix,
  if 'trim' was not enabled, *one* TRIM operation would
  still be executed instead of zero.

* In many situations... possibly even most situations,
  trim operations seriously reduce performance due to
  being serialized by AHCI or by the target device.  It
  is not as useful as people often think it should be
  on normal filesystems.

    [8 lines not shown]

DragonFlyBSD/src c8a21d0lib/libc/stdlib nmalloc.c

nmalloc - Try bigcache in posix_memalign() for big PAGE_SIZE aligned allocs.

* This improves performance (by reducing the amount of mmap() calls required
  and avoiding some amount of page faults) for applications which frequently
  call posix_memalign() with a 4096 byte alignment for allocations bigger
  than 8KB. Allocations of 8KB and smaller are efficiently handled by the
  SLAB allocator already.

DragonFlyBSD/src d650e21sys/bus/pci pcireg.h pci_pci.c, usr.sbin/pciconf pciconf.c cap.c

pciconf - Enhance output

* Add more registers defs from FreeBSD to pcireg.h

* Bring expanded pciconf code in form FreeBSD.  This code
  displays more configuration data for bridges and control
  registers, and fixes a broken bus error reporting conditional.

* Also normalize SLT -> SLOT naming in pcireg.h

DragonFlyBSD/src 7273246lib/libc/stdlib nmalloc.c

nmalloc - Cache 4K and 8K allocations in posix_memalign()

* Adjust posix_memalign() to use the slab allocator for 4K and 8K
  allocations same as malloc() does, to improve performance for
  programs using posix_memalign().

DragonFlyBSD/src c229b0csys/sys param.h

Bump __DragonFly_version for adding wait6() and waitid()
+2-11 files

DragonFlyBSD/src 33b81dclib/libc/gen waitid.c, lib/libc/sys wait.2

system - Add wait6(), waitid(), and si_pid/si_uid siginfo support

* Add the wait6() system call (header definitions taken from FreeBSD).
  This required rearranging kern_wait() a bit.  In particular, we now
  maintain a hold count of 1 on the process during processing instead
  of releasing the hold count early.

* Add waitid() to libc (waitid.c taken from FreeBSD).

* Adjust manual pages (taken from FreeBSD).

* Add siginfo si_pid and si_uid support.  This basically allows a process
  taking a signal to determine where the signal came from.  The fields
  already existed in siginfo but were not implemented.

  Implemented using a non-queued per-process array of signal numbers.
  The last originator sending any given signal is recorded and passed
  through to userland in the siginfo.

* Fixes the 'lightdm' X display manager.  lightdm relies on si_pid
  support.  In addition, note that avoiding long lightdm related
  latencies and timeouts require a softlink from libmozjs-52.so to
  libmozjs-52.so.0 (must be addressed in dports, not addressed in this

    [2 lines not shown]

DragonFlyBSD/src 62620a3sys/conf kmod.mk, sys/dev/virtual/virtio/random Makefile

kernel/virtio: Remove some last traces of virtio_if.m.

It was removed in b817dce2e30a257b86b253a698e63a418758d76d.

DragonFlyBSD/src 0625343share/man/man4 virtio_random.4 virtio.4, sys/dev/virtual/virtio Makefile

kernel: Bring in a port of FreeBSD's virtio_random(4) driver.

Tested-by: Diederik de Groot <info at talon.nl>

DragonFlyBSD/src c9d3cc7lib/libstand hammer1.c

libstand/hammer1: One more -Wundef fix.

DragonFlyBSD/src 4c7c788lib/libcrypt crypt-sha512.c crypt-sha256.c

libcrypt: Fix -Wundef (no functional change).

DragonFlyBSD/src 0b644c8sys/dev/drm/radeon btc_dpm.c btc_dpm.h

drm/radeon: drop btc_get_max_clock_from_voltage_dependency_table

DragonFlyBSD/src cd93a6bsys/dev/drm/radeon si_dpm.c

drm/radeon/dpm: drop clk/voltage dependency filters for SI

DragonFlyBSD/src 54cb39bsys/dev/drm/radeon radeon_prime.c radeon_drv.c

drm/radeon: Pass dma-buf as argument to gem_prime_import_sg_table

DragonFlyBSD/src f33ef0ainclude time.h utmpx.h

Fix the __BSD_VISIBLE check in a few headers.

#if must be used, not #ifdef.

DragonFlyBSD/src 446b482sys/kern kern_memio.c, sys/sys random.h

<sys/random.h>: Further cleanup.

* Remove inclusion of <sys/interrupt.h> which is no longer needed since
  7e071e7abb9f0b54413dda805a4239f7b0eb455e. It can now be moved to

* Remove forward declaration of struct thread which is no longer needed
  since fef8985e09e16aeee4a2014876e2e4b758656ac2.

* Fix a typo in a comment (Reported-by: aly).

DragonFlyBSD/src 33c2164sys/sys random.h

<sys/random.h>: Clean up some unused prototypes.
+0-101 files

DragonFlyBSD/src e6a0288sys/dev/drm/include/linux lockdep.h

drm/linux: Implement lockdep_assert_held()

DragonFlyBSD/src 54380c6sys/dev/misc/ppc ppc.c

kernel/ppc: Fix -Wundef.