Displaying 1 50 of 33,403 commits (0.054s)

DragonFlyBSD — sys/kern kern_nrandom.c

kernel - Improve basic entropy collector

* Faster time-buffered period in first 120 seconds after boot to help seed
  the generator.  This helps when other sources such as RDRAND are not available.

* Use a systimer instead of tsleep to make the 'random' loop delay more random.

* Do a better job incorporating interrupt randomness with a combination of
  counter and low TSC bits.

* Get rid of the double-time-buffering restrictions (one in the thread, one in
  NANOUP_EVENT().  Also incorporate the low TSC bits in different bit positions
  to try to avoid XOR deconstruction against tv_nsec.

Reported-by: tuxillo
Delta File
+71 -54 sys/kern/kern_nrandom.c
+71 -54 1 file

DragonFlyBSD — share/misc bsd-family-tree

bsd-family-tree: Sync with FreeBSD (for DragonFly 4.2.0).
Delta File
+3 -2 share/misc/bsd-family-tree
+3 -2 1 file

DragonFlyBSD — sys/dev/misc/syscons syscons.c

syscons - reenable cursor

* Cursor was accidently disabled in a prior commit,
  reenable it.

Reported-by: swildner
Delta File
+2 -2 sys/dev/misc/syscons/syscons.c
+2 -2 1 file

DragonFlyBSD — sys/dev/drm/i915 i915_gem.c

drm - Used fixed start address instead of vm_map_hint() in i915_gem_mmap_ioctl()

* We tried to fix i915_gem_mmap_ioctl() returning a valid 'NULL' address for
  the requested mapping by passing the vm_map_hint() address into it.  This
  worked, but for reasons unknown wound up destabilizing X11 itself.

* So, instead of using 0, and instead of using vm_map_hint(), the 'hint'
  starting address is now fixed at PAGE_SIZE (0x0000000000001000).  And this
  seems to solve the destabilization.
Delta File
+4 -2 sys/dev/drm/i915/i915_gem.c
+4 -2 1 file

DragonFlyBSD — sys/dev/drm/i915 i915_gem.c

drm - Used fixed start address instead of vm_map_hint() in i915_gem_mmap_ioctl()

* We tried to fix i915_gem_mmap_ioctl() returning a valid 'NULL' address for
  the requested mapping by passing the vm_map_hint() address into it.  This
  worked, but for reasons unknown wound up destabilizing X11 itself.

* So, instead of using 0, and instead of using vm_map_hint(), the 'hint'
  starting address is now fixed at PAGE_SIZE (0x0000000000001000).  And this
  seems to solve the destabilization.
Delta File
+4 -2 sys/dev/drm/i915/i915_gem.c
+4 -2 1 file

DragonFlyBSD — sys/dev/acpica acpi_thermal.c

kernel/acpi_thermal: Fix comment typo.
Delta File
+1 -1 sys/dev/acpica/acpi_thermal.c
+1 -1 1 file

DragonFlyBSD — sys/vfs/hammer2 hammer2_strategy.c hammer2_chain.c

hammer2 - xop stabilization - part 2/many

* The xop mechanics do a quorum calculation, and will also do quorum
  calculations for the inode cluster (not yet in).  This calculation is
  primarily based on the bref.modify_tid.

  Each backend XOP now needs its own modify_tid to properly distinguish
  between and eventually serialize dependent backend ops.

* Implement discrete modify_tid (mtid) reservations in
  hammer2_xop_alloc().  Remove the old modify_tid reservation code that only
  incremented it on a per-flush basis.

* The flush code will acquire a unique modify_tid which is greater than all
  prior modify_tids in stage 2 (after it clears PREFLUSH).

* The hammer2_xop_alloc() code is too messy returning the union structure,
  return a void * instead so the caller can just assign it to the correct
  sub-union structure.

DragonFlyBSD — sys/cpu/x86_64/include atomic.h

kernel - Add atomic_fetchadd_64()

* Add an atomic_fetchadd_64() function which hammer2 needs.  This might
  not be possible on e.g. 32-bit architectures for porting purposes but
  for now I don't want to put a lock around the hammer2 functions that
  need it.
Delta File
+1 -0 sys/cpu/x86_64/include/atomic.h
+1 -0 1 file

DragonFlyBSD — sbin/hammer2 cmd_pfs.c, sys/vfs/hammer2 hammer2_thread.c hammer2_inode.c

hammer2 - xop stabilization - part 1/many

* Create XOP threads on-demand, they are needed sometimes even on PFSs
  which don't normally need it.

* For spmp roots, count PFSTYPE_SUPROOT as a master to simplify the cluster
  validation code.

* Allow hammer2_inode_get() to only repoint part of an inode's cluster.

* Stabilize the slave synchronizer (a little, requires more).

* Remove more dead code.

DragonFlyBSD — usr.sbin/powerd powerd.c powerd.8

powerd: Support Intel Performance and Energy Bias Hint

According to <<Intel Software Developer's Manual>>
"... guide the hardware heuristic of power management features to favor
 increasing dynamic performance or conserve energy consumption."

hint 0  - Max performance.
hint 15 - Max energy saving.

DragonFlyBSD — sys/dev/acpica acpi_timer.c

Convert acpi_timer to using ACPICA functions.
Delta File
+31 -101 sys/dev/acpica/acpi_timer.c
+31 -101 1 file

DragonFlyBSD — sys/vfs/hammer2 hammer2_thread.c hammer2_cluster.c

hammer2 - Refactor frontend part 17

This ends the major refactoring.  All major cluster ops have been converted
to XOPs.  The new XOP APIs will be stabilized in subsequent commits, issues
will primarily be slave scan deadlocks.

* Refactor the fsync and slave scan code to use the XOP interface.

* Cleanup hammer2_cluster.c, removing numerous functions which are no
  longer used.

DragonFlyBSD — sbin/hammer2 cmd_setcomp.c, usr.bin/evtranalyze evtranalyze.c

Fix some typos in variable names.

DragonFlyBSD — usr.sbin/powerd powerd.c

powerd: Save usched mask for later use, e.g. by perf-energy bias
Delta File
+46 -19 usr.sbin/powerd/powerd.c
+46 -19 1 file

DragonFlyBSD — sys/cpu/x86_64/include types.h

cpumask: Add XORMASK
Delta File
+7 -0 sys/cpu/x86_64/include/types.h
+7 -0 1 file

DragonFlyBSD — sys/platform/pc64/acpica acpi_machdep.c

kernel/acpica: Simplify machine dependent initialization a bit.

DragonFlyBSD — sys/dev/acpica acpi_cpu_pstate.c

acpi/pstate: Allow users to set _PDL

Reported-by: swildner
Delta File
+22 -0 sys/dev/acpica/acpi_cpu_pstate.c
+22 -0 1 file

DragonFlyBSD — sys/dev/acpica acpi_cpu_pstate.c, usr.sbin/powerd powerd.c

acpi/pstate: Rename sysctl node available_bin to avail

And hide sysctl node available from sysctl list.

DragonFlyBSD — lib/libipfw3/basic ipfw3_basic.c, lib/libipfw3/dummynet ipfw3_dummynet.c

ipfw3: join same filters with or operator

example:
        ipfw3 add allow icmp to <ip addr 1> or <ip addr 2> ...

DragonFlyBSD — sys/boot/common do_dloader.c

dloader: Bump the max. line length in includes (e.g. loader.conf) to 1024.

Some ACPICA debugging settings (such as a lists of layers and levels for
debug.acpi.layer and debug.acpi.level, see acpi(4)) can easily get longer
than 256.

Another likely candidate are hw.acpi.{install,remove}_interface.
Delta File
+1 -1 sys/boot/common/do_dloader.c
+1 -1 1 file

DragonFlyBSD — sys/contrib/dev/acpica/source/components/debugger dbinput.c

acpiexec(8): Fix a crash with the '!!' command.

Taken from the ACPICA repository.

ACPICA commit log:

commit 3715a26caadc1847940e2759490410748a433b59
Author: Robert Moore <Robert.Moore at intel.com>
Date:   Wed Jun 24 08:42:44 2015 -0700

    Debugger: Fix problem with the !! command.

    Prevent infinite loop caused by incorrectly entering the !!
    command into the history buffer. ACPICA BZ 1171.

DragonFlyBSD — sbin/hammer2 cmd_debug.c cmd_setcheck.c, sbin/newfs_hammer2 newfs_hammer2.c

hammer2 - Refactor frontend part 16/many

* Replace cluster ops with more frontend/backend XOPs.  Use XOPs to
  resolve the root inode, handle the hidden directory, create the
  hidden directory, and to run the unlinkq in the hidden directory.

* Cleanup additional cluster ops that can use ip->meta instead.

* Simplify hammer2_inode_unlock(), it is no longer cluster-centric so
  do not pass-in a cluster to unlock and drop.

* hammer2 show - dump pfs fields for the super-root

* hammer2 set* directives, change the HAMMER2IOC_INODE_SET API slightly.

* newfs_hammer2 - name the super root directory for show output convenience.

DragonFlyBSD — libexec/rtld-elf rtld.h

rtld(1): Use standard boolean type from <stdbool.h>.
Delta File
+1 -5 libexec/rtld-elf/rtld.h
+1 -5 1 file

DragonFlyBSD — sys/kern lwkt_ipiq.c lwkt_thread.c, sys/netinet in_cksum.c

kernel: Use 'normal' types (i.e., uint8_t instead of __uint8_t).

DragonFlyBSD — sbin/hammer cmd_volume.c hammer.8

sbin/hammer: Add hammer volume-blkdevs command

- Many of the low-level hammer commands (e.g. show, blockmap,
  checkmap, etc) require -f option with blkdevs format argument,
  however hammer command does not provide a way to confirm volumes
  in blkdevs format. One often has to manually type devices with
  colons to generate blkdevs format via volume-list command.

- hammer volume-blkdevs prints a list of volumes in blkdevs format
  which is just a different version of volume-list but useful.

- hammer volume-list and volume-blkdevs are basically the same.
  The only difference is volume-list uses '\n' for separator and
  volume-blkdevs uses ':' for separator.

  # hammer volume-list /HAMMER
  /dev/da1
  /dev/da2
  /dev/da3
  # hammer volume-blkdevs /HAMMER
  /dev/da1:/dev/da2:/dev/da3
  #

DragonFlyBSD — usr.sbin/powerd powerd.c

powerd: Move TurboOpt test to the beginning of the condition list
Delta File
+2 -2 usr.sbin/powerd/powerd.c
+2 -2 1 file

DragonFlyBSD — sys/dev/acpica acpi_cpu_pstate.c

acpi/pstate: Evaluate _OST after successful _PPC processing
Delta File
+12 -0 sys/dev/acpica/acpi_cpu_pstate.c
+12 -0 1 file

DragonFlyBSD — sys/dev/acpica acpi_cpu_pstate.c

acpi/pstate: Support _PDL, which limits number of usable P-States

Reported-by: swildner
Delta File
+59 -3 sys/dev/acpica/acpi_cpu_pstate.c
+59 -3 1 file

DragonFlyBSD — lib/libipfw3/basic ipfw3_basic.c, sys/net/ipfw3_basic ip_fw3_basic.c

ipfw3: filter from/to supports me/any/subnet

usage:
        ipfw3 add allow udp to any
        ipfw3 add allow icmp from me
        ipfw3 add allow icmp from 192.168.1.0/24

DragonFlyBSD — sys/dev/acpica acpi_cpu_pstate.c

acpi/pstate: Fix _PPC support

Reported-by: swildner
Delta File
+26 -22 sys/dev/acpica/acpi_cpu_pstate.c
+26 -22 1 file

DragonFlyBSD — usr.sbin/powerd powerd.c

powerd: Make sure that all CPUs are found before we move on
Delta File
+37 -18 usr.sbin/powerd/powerd.c
+37 -18 1 file

DragonFlyBSD — usr.sbin/powerd powerd.c

powerd: Utilize new acpi/pstate sysctl node for available frequencies

While I'm here, clean up CPU power domain frequency change.
Delta File
+90 -46 usr.sbin/powerd/powerd.c
+90 -46 1 file

DragonFlyBSD — sys/dev/acpica acpi_button.c

kernel/acpica: Change button type to int.

Even though it can have only two values, it's not really a variable meant
to be either true or false.
Delta File
+1 -1 sys/dev/acpica/acpi_button.c
+1 -1 1 file

DragonFlyBSD — sys/dev/acpica acpi_cpu_pstate.c

acpi/pstate: Add binary form for available CPU power domain frequencies
Delta File
+22 -0 sys/dev/acpica/acpi_cpu_pstate.c
+22 -0 1 file

DragonFlyBSD — sys/vfs/hammer2 hammer2_strategy.c hammer2_cluster.c

hammer2 - Refactor frontend part 15/many

* Cleanup pass, remove dead cluster API functions and other dead code.

* Cluster not completely gone yet, the synchronization code, a few ioctls,
  and portions of vfsops are still using it.

DragonFlyBSD — sys/vfs/hammer2 hammer2_inode.c hammer2_xops.c

hammer2 - Refactor frontend part 14/many

* Implement nlink, nremove, nrmdir, and nrename.

  The hardlink handling in nlink and nremove were the most difficult
  here, but the resulting design is actually cleaner than the complex
  do-everything routines I had before.

* Remove the old hardlink handling clutter in the inode and cluster code.

DragonFlyBSD — sys/dev/misc/syscons syscons.c sctermvar.h

kernel - Fix syscons deadlock during panic

* The system console can deadlock during a panic if a cpu is stopped
  while holding syscons_mtx.

* The new asynchronous update thread makes this problem more likely to occur.

* Fix the problem by recoding syscons_lock() to detect the panic or shutdown
  condition and loop for up to 0.5 seconds trying to get the syscons_mtx.
  If it is unable to acquire it, it reinitializes the mutex.

* We still have issues with VT switching away from X.

DragonFlyBSD — sbin/dump dump.h tape.c

dump(8): Remove some old code.

DragonFlyBSD — usr.sbin/powerd powerd.c

powerd: Fix usched cpumask setting

CPU power domain does not necessarily contain CPUs, whose ids are
contiguous.
Delta File
+49 -3 usr.sbin/powerd/powerd.c
+49 -3 1 file

DragonFlyBSD — usr.sbin/powerd powerd.c

powerd: Use linked list for CPU power domain

On some multiple CPU packages systems, CPU power domains' id could
be pretty sparse.
Delta File
+81 -46 usr.sbin/powerd/powerd.c
+81 -46 1 file

DragonFlyBSD — sys/vfs/hammer2 hammer2_vfsops.c hammer2_flush.c

hammer2 - Refactor frontend part 13/many

* Fix improper unlock in xop_scanlhc.

* Move the flush sequencing to the XOP backend.

* Make a kmalloc'd copy of the namecache name for backends still
  in-progress when the frontend returns (we will need to do something
  similar for bio data too).

* Do not pass the nch to hammer2_unlink_file(), pass more portable
  integer state instead.

DragonFlyBSD — sys/vfs/hammer2 hammer2_strategy.c hammer2_vfsops.c

hammer2 - Refactor frontend part 12/many

* Refactor the strategy_write code to use the XOP interface.
  The new strategy_write uses the standard XOP interface to distribute
  BIOs to XOP threads.  As with the read code, this also tends to
  distribute the compression across available cpus.

* Get rid of the dedicated BIO threading code (wthread* in hammer2_pfs).

DragonFlyBSD — sys/vfs/hammer2 hammer2_xops.c hammer2_inode.c

hammer2 - Refactor frontend part 11/many

* Add XOPs for nresolve and most inode creation.  The inode creation support
  backs all inode-creation XOPs.

* Remove the on-stack hammer2_trans_t structure and remove the passing
  of &trans to all modifying operations.

  This methodology added significant list-management overhead and isn't
  a good fit with the new frontend/backend mechanics.  The removal also
  simplifies the API for many support functions.

  Replace with a temporary version that embeds a single, simplified
  hammer2_trans_t in each hammer2_pfs_t.  Ultimately we will need
  to fan-out to per-node (per hammer2_mount_t) transaction control
  in a way that doesn't stall-out the frontend.

DragonFlyBSD — sys/vfs/hammer hammer_disk.h hammer_undo.c

sys/vfs/hammer: Fix comments on zones

- zone-3 is also converted to zone-2 just like zone >= 8.

- "meta" is the actual name for zone-9 although meta means
  the same as record.

DragonFlyBSD — sbin/hammer cmd_blockmap.c, sbin/newfs_hammer newfs_hammer.c

sys/vfs/hammer: Define HAMMER_ZONE2_MAPPED_INDEX for zone# assertions

- Define HAMMER_ZONE2_MAPPED_INDEX as zone-8(btree zone) index and
  use this (instead of zone-8 index) to test if the given zone# is
  is valid zone#. This makes better sense as "btree" zone itself
  doesn't have much meaning with regards to checking zone# range
  (e.g. meta zone or large/small data zones could have been defined
  as zone-8 when hammer was designed and it would still work with
  the non-btree-zone-8).

- This is similar to the way HAMMER_RECTYPE_ENTRY_START is defined
  and used to lookup range of records.

DragonFlyBSD — sbin/newfs_hammer newfs_hammer.c

sbin/newfs_hammer: Cleanup zone index

- Use HAMMER_ZONE_BTREE_INDEX instead of 8.
Delta File
+5 -1 sbin/newfs_hammer/newfs_hammer.c
+5 -1 1 file

DragonFlyBSD — usr.sbin/powerd powerd.c

powerd: Avoid magic number and nuke set-only CpuToDom
Delta File
+6 -7 usr.sbin/powerd/powerd.c
+6 -7 1 file

DragonFlyBSD — etc rc.subr

rc.subr: Add common functions for run_rc_command

They are required by some ports rc scripts, the bind and haproxy
ports being the most obvious users.

Obtained-from: FreeBSD
Delta File
+78 -1 etc/rc.subr
+78 -1 1 file

DragonFlyBSD — sys/vfs/hammer2 hammer2_xops.c

hammer2 - Refactor frontend part 10/many

* New file hammer2_xops.c will contain the backend XOPs.  In this
  commit, just hammer2_xop_readdir() so far.
Delta File
+927 -0 sys/vfs/hammer2/hammer2_xops.c
+927 -0 1 file

DragonFlyBSD — sys/vfs/hammer2 hammer2_thread.c hammer2_cluster.c

hammer2 - Refactor frontend part 9/many

* Create initial frontend/backend XOP infrastructure.

  frontend:
        hammer2_xop_alloc()
        hammer2_xop_start()
        ...  hammer2_xop_collect() loop ...
        hammer2_xop_retire(xop, HAMMER2_XOPMASK_VOP)

  backend:
        (backend is called with the shared xop structure in separate
         backend threads for each node belonging to the cluster appropriate
         for the operation).

        ... issue chain calls as needed ...
        ... hammer2_xop_feed() ...                (feed chains back to frontend)
        hammer2_xop_feed(NULL)                        (feed NULL chain)
        hammer2_xop_retire(xop, 1U << clindex)

  The XOP contains a FIFO, allowing the backend to pipeline results when
  appropriate (e.g. readdir).  If a sequence of results are expected, the
  backend should finish with a NULL chain.  If not, the backend can just feed
  back whatever is expected.  Often this will just be the chain representing
  the inode.

    [29 lines not shown]