Matthew Dillon [Tue, 30 Jun 2015 19:46:02 +0000 (12:46 -0700)]
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.
Matthew Dillon [Wed, 17 Jun 2015 18:21:17 +0000 (11:21 -0700)]
i915_gem_mmap_ioctl - Align the mmap to 256KB
* Appears to improve performance and potentially fix a few reported issues.
It is not clear why aligning the virtual address has this effect.
François Tigeot [Thu, 25 Jun 2015 09:52:40 +0000 (11:52 +0200)]
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
Sascha Wildner [Tue, 23 Jun 2015 21:24:02 +0000 (23:24 +0200)]
Sync zoneinfo database with tzdata2015e from ftp://ftp.iana.org/tz/releases
* africa: Morocco suspends DST from 2015-06-14 03:00 through
2015-07-19 02:00, not 06-13 and 07-18 as we had guessed.
(Thanks to Milamber.)
* northamerica: Assume Cayman Islands will observe DST starting next year,
using US rules. Although it isn't guaranteed, it is the most likely.
* southamerica: Typo fix.
Sascha Wildner [Fri, 19 Jun 2015 15:55:15 +0000 (17:55 +0200)]
Revert "<sys/cdefs.h>: Fix a typo introduced (in 2005) with
3d28a5332f9b5."
This reverts commit
f731c976e6292fc86ff6eacb9a59bbb7a70e7e9f.
This fix exposed some bugs (notably that __LONG_LONG_SUPPORTED is
no longer defined for C++11, which broke a couple ports it seems).
So revert it. A more proper fix will be pushed to master.
Reported-by: Rimvydas Jasinskas <rimvydas.jasinskas@gmail.com>
Matthew Dillon [Fri, 19 Jun 2015 04:07:42 +0000 (21:07 -0700)]
kernel - Sync uaudio to fix clicking issue
* Sync USB audio to FreeBSD
82e528e78860c as of May 8 2015.
* Fixes clicking issues due to broken audio synchronization.
Testing-by: tm512
Matthew Dillon [Fri, 19 Jun 2015 02:34:32 +0000 (19:34 -0700)]
kernel - Sync ehci controller with FreeBSD
* Sync ehci controller w/FreeBSD to FreeBSD
8c1b21d9ef,
ehci.c and ehci.h only.
* Contains better fix for doorbell issue from FreeBSD devs.
* Fixes numerous ehci port issues that the older hack had not fixed.
Testing-by: tm512, dillon
Sascha Wildner [Mon, 15 Jun 2015 12:16:01 +0000 (14:16 +0200)]
Update the pciconf(8) database.
May 13, 2015 snapshot from http://pciids.sourceforge.net/
John Marino [Sat, 13 Jun 2015 08:48:40 +0000 (10:48 +0200)]
Restore ability for master to build release 4.2
It turns out that setting values on /etc/defaults/make.conf is a bad
idea. In this case, the two SENDMAIL values that were set prevent
a master branch from building previous releases.
The fix is to comment out those two definitions and move the default
values to the makefile that uses them, using the "?=" operator.
Sascha Wildner [Sun, 14 Jun 2015 20:39:56 +0000 (22:39 +0200)]
<sys/cdefs.h>: Fix a typo introduced (in 2005) with
3d28a5332f9b5.
Sascha Wildner [Sat, 13 Jun 2015 16:30:32 +0000 (18:30 +0200)]
openssl: Adjust manual pages for 1.0.1o.
Sascha Wildner [Sat, 13 Jun 2015 17:35:08 +0000 (19:35 +0200)]
Merge remote-tracking branch 'remotes/crater/vendor/OPENSSL' into rel4_2
Sascha Wildner [Sat, 13 Jun 2015 16:29:32 +0000 (18:29 +0200)]
Import OpenSSL 1.0.1o.
Fixes an HMAC ABI incompatibility which was introduced in 1.0.1n.
Imre Vadász [Fri, 12 Jun 2015 18:01:06 +0000 (20:01 +0200)]
drm/radeon: Use fb->pitches[0] for the correctly aligned stride
Sascha Wildner [Thu, 11 Jun 2015 19:06:39 +0000 (21:06 +0200)]
openssl: Adjust manual pages for 1.0.1n.
Sascha Wildner [Thu, 11 Jun 2015 19:56:10 +0000 (21:56 +0200)]
Merge remote-tracking branch 'remotes/crater/vendor/OPENSSL' into rel4_2
Sascha Wildner [Thu, 11 Jun 2015 19:50:51 +0000 (21:50 +0200)]
Stop removing i915drm.4.gz via 'make upgrade'.
Sascha Wildner [Thu, 11 Jun 2015 19:03:27 +0000 (21:03 +0200)]
Import OpenSSL 1.0.1n.
Fixes CVE-2015-1788, CVE-2015-1789, CVE-2015-1790, CVE-2015-1791,
and CVE-2015-1792.
Rejects DH handshakes with parameters shorter than 768 bits.
Sascha Wildner [Thu, 11 Jun 2015 18:23:53 +0000 (20:23 +0200)]
kernel/syscons: Allow to turn off scaling by setting kern.kms_columns <0.
Submitted-by: Rimvydas Jasinskas <rimvydas.jasinskas@gmail.com>
Justin C. Sherrill [Thu, 11 Jun 2015 01:04:28 +0000 (21:04 -0400)]
Version number changes for 4.2-RELEASE.
Sascha Wildner [Wed, 10 Jun 2015 21:20:44 +0000 (23:20 +0200)]
kernel/syscons: Fix a comment.
Noticed-by: ivadasz
Sascha Wildner [Wed, 10 Jun 2015 21:04:40 +0000 (23:04 +0200)]
kernel/syscons: Add simple font scaling when using KMS drivers.
This commit lets the user choose the number of columns for KMS syscons
with a new tunable, kern.kms_columns. If it is not set, the default is
to scale as close as possible to 80x25 using natural numbers as scaling
factors (e.g., on 1680x1050 the default would be a 105x32 char console
using a 16x32 font).
The commit also separates (scaled) character drawing into a new
function, blit_blk(), and does some cleanups.
Submitted-by: dillon
Sepherosa Ziehau [Tue, 9 Jun 2015 15:46:17 +0000 (23:46 +0800)]
powerd: Add emergency poweroff support if laptop battery life is low.
And by default linger 60 seconds if battery life is low and powerd just
started; mainly to avoid poweroff immediately after a low battery life
laptop just booted.
Imre Vadász [Tue, 9 Jun 2015 19:42:20 +0000 (21:42 +0200)]
drm.4: Update the drm.4 manpage and start i915kms.4 and radeonkms.4
Imre Vadász [Tue, 9 Jun 2015 19:53:02 +0000 (21:53 +0200)]
drm/radeon: Add backlight sysctls for cards with atombios.
* Add sysctl hw.backlight_level and hw.backlight_max for radeon cards
that use atombios.
Matthew Dillon [Tue, 9 Jun 2015 18:35:19 +0000 (11:35 -0700)]
drm - Fix valid NULL address returned from i915 mmap ioctl
* Do not allow the ioctl to mmap at address 0. This fixes assertions
in mpv and probably de-confuses other programs too.
* Calling vm_map_hint() is sufficient to ensure that a reasonable start
address is used.
Reported-by: zrj, joris.
Matthew Dillon [Tue, 9 Jun 2015 15:36:15 +0000 (08:36 -0700)]
kernel - Increase DMA reserve from 16M to 128M by default
* People running DragonFly on workstations were having to specify
more than the default 16M for vm.dma_reserved in /boot/loader.conf
or their X sessions would not be stable.
* To reduce confusion, the dma_reserved default is being increased
to 128M which should be sufficient for most display setups.
People with headless servers will have to explicitly reduce the
reservation in /boot/loader.conf (back to 16m is my suggestions) if
they wish to recover the memory.
* This is the best compromise I could think of. We can't just return
the memory to the pool after boot because X might be started far later
on, or even potentially killed and restarted. Other drivers might also
depend on large swaths of contiguous physical memory being available.
The reserve is the best way to do it and I would rather things work out
of the box rather than forcing regular users to set something in
/boot/loader.conf.
Sepherosa Ziehau [Mon, 8 Jun 2015 13:48:52 +0000 (21:48 +0800)]
x86_64/madt: Enhance bootverbose logging
Sepherosa Ziehau [Mon, 8 Jun 2015 13:32:03 +0000 (21:32 +0800)]
x86_64: Fix gd_acpi_id setting
Sascha Wildner [Tue, 9 Jun 2015 04:17:24 +0000 (06:17 +0200)]
Remove ext2mount.h via 'make upgrade'.
Matthew Dillon [Tue, 9 Jun 2015 00:19:18 +0000 (17:19 -0700)]
build - Parallelize kernel module build
* Parallelize the module build portion of a full buildkernel.
* Decreases full kernel build times significantly. The build
is up to 3 times faster now.
* On monster full kernel build time goes from 10:48 to 3:04.
Markus Pfeiffer [Mon, 8 Jun 2015 19:42:51 +0000 (19:42 +0000)]
etc/remote: add ucom1 to ucom4
Markus Pfeiffer [Mon, 8 Jun 2015 19:22:32 +0000 (19:22 +0000)]
usb4bsd: Make the serial driver create all devices
* This patch adds creation of ttyUx, ttyiUx, ttylUx, cuaUx, cuaiUx,
and cualUx, where x is the unit number for usb serial devices.
* The actual functionality for .init and .lock is not completelyl
implemented yet
Sascha Wildner [Mon, 8 Jun 2015 17:13:37 +0000 (19:13 +0200)]
kernel/radeon: Regen register check tables (only removes FreeBSD SVN ID).
Sascha Wildner [Mon, 8 Jun 2015 17:10:39 +0000 (19:10 +0200)]
Add some tools to update various DRM related files, firmwares, etc.
Taken-from: FreeBSD
Sascha Wildner [Mon, 8 Jun 2015 16:42:23 +0000 (18:42 +0200)]
kernel/drm: Sync radeonkms' PCI ID list with Linux 3.11's.
Sascha Wildner [Mon, 8 Jun 2015 15:35:24 +0000 (17:35 +0200)]
kernel/radeonfw: Update two firmwares.
Matthew Dillon [Sun, 7 Jun 2015 18:41:51 +0000 (11:41 -0700)]
tail - Add -q option
* Bring in the -q option from FreeBSD. This option masks the printing
of filename headers when tailing multiple files.
Taken-from: FreeBSD
Tomohiro Kusumi [Sun, 7 Jun 2015 14:21:11 +0000 (23:21 +0900)]
sys/gnu/vfs/ext2fs: Fix indentation
- (Note that dfly's ext2 seems to be broken currently)
Tomohiro Kusumi [Sun, 7 Jun 2015 13:23:56 +0000 (22:23 +0900)]
sys/gnu/vfs/ext2fs: Fix comments
- Have a full Linux kernel path.
- (Note that dfly's ext2 seems to be broken currently)
Tomohiro Kusumi [Sun, 7 Jun 2015 12:30:48 +0000 (21:30 +0900)]
sys/gnu/vfs/ext2fs: Rename struct ext2mount -> struct ext2_mount
- Not sure why but this is the only struct without _ after ext2.
- This struct is _KERNEL struct.
- (Note that dfly's ext2 seems to be broken currently)
Tomohiro Kusumi [Sun, 7 Jun 2015 12:22:27 +0000 (21:22 +0900)]
sys/gnu/vfs/ext2fs: Rename ext2mount.h -> ext2_mount.h
- Not sure why but this is the only file without _ after ext2.
- Renaming should not affect external userspace programs since
userspace should never need this header (only kernel stuff).
- (Note that dfly's ext2 seems to be broken currently)
Matthew Dillon [Sun, 7 Jun 2015 04:06:55 +0000 (21:06 -0700)]
libc - Attribute setcontext() and getcontext()
* Give getcontext() the __returns_twice attribute and
give setcontext() the __dead2 attribute.
Suggested-by: swildner
Sascha Wildner [Sun, 7 Jun 2015 03:26:54 +0000 (05:26 +0200)]
colldef/mklocale: Remove some workarounds from "locale megapatch" times.
This basically made it impossible to extend <sys/cdefs.h> without having
to add more gunk to the Makefiles.
Matthew Dillon [Sun, 7 Jun 2015 02:54:42 +0000 (19:54 -0700)]
stdc - add __returns_twice
* Add __returns_twice attribute support.
* Use for longjmp() and vfork() plus any variants.
Taken-From: FreeBSD
Matthew Dillon [Sun, 7 Jun 2015 02:53:48 +0000 (19:53 -0700)]
sh - Sync to FreeBSD
d038ee76 part 2/2 (f)
* Fix bin/kill (shares code with /bin/sh). Procedure renamed.
Matthew Dillon [Sun, 7 Jun 2015 02:47:35 +0000 (19:47 -0700)]
sh - Sync to FreeBSD
d038ee76 part 2/2 (e)
* Reapply
d9b533666 - mdoc nits.
* Makefile adjustments for clean stderr
* Fix minor coding error in recent commit..
Matthew Dillon [Sun, 7 Jun 2015 02:44:29 +0000 (19:44 -0700)]
sh - Sync to FreeBSD
d038ee76 part 2/2 (d)
Reapply
330497ceac - fix O_CLOEXEC race in open() and fhopen()
* Fix an O_CLOEXEC race where a fork/exec can race an open(...O_CLOEXEC)
and improperly inherit the descriptor.
Matthew Dillon [Sun, 7 Jun 2015 02:25:53 +0000 (19:25 -0700)]
sh - Sync to FreeBSD
d038ee76 part 2/2 (c)
* Renumber copyright lines after the advertising clause was taken out.
Matthew Dillon [Sun, 7 Jun 2015 02:22:15 +0000 (19:22 -0700)]
sh - Sync to FreeBSD
d038ee76 part 2/2 (b)
* Undo a portion of the error.h move to reduce edits to bin/kill/halt.c etc.
Matthew Dillon [Sun, 7 Jun 2015 01:44:14 +0000 (18:44 -0700)]
sh - Sync to FreeBSD
d038ee76 part 2/2 (a)
* Undo el_fn_sh_complete rename.
Matthew Dillon [Sun, 7 Jun 2015 01:41:36 +0000 (18:41 -0700)]
sh - Sync to FreeBSD
d038ee76 part 1/2
* Sync to FreeBSD
d038ee76 25 Apr 2015.
Sascha Wildner [Sun, 7 Jun 2015 02:16:12 +0000 (04:16 +0200)]
<sys/sysctl.h>: Include <sys/lock.h> only for the kernel (unbreaks world).
The problem was that when userland included <sys/sysctl.h> without
_KERNEL_STRUCTURES defined, it could later on no longer include
<sys/lock.h> _with_ _KERNEL_STRUCTURES defined (via <sys/kinfo.h>,
for example).
Sascha Wildner [Sun, 7 Jun 2015 00:30:22 +0000 (02:30 +0200)]
kernel/hpt27xx: Stop using __DATE__ and __TIME__.
Better for binary diffs.
Taken-from: FreeBSD
Matthew Dillon [Sat, 6 Jun 2015 23:17:41 +0000 (16:17 -0700)]
sysctl - SMP performance work
Performance work on the sysctl API. Most accesses (including nearly all
accesses made by libc) now use a shared lock, increasing concurrency in the
exec path.
* Acquire the sysctl global lock shared instead of exclusive for all normal
accesses. Use an exclusive lock for node and leaf creation or deletion.
Ultimately we will move to a fine-grained model and remove the global lock.
* Give each oid its own lockmgr lock. Automatically acquire this lock
shared for read access and exclusive for write access. This retains
just enough serialization of modifying (individual) sysctls to make
sense to programmers.
* Supply flag overrides to force shared or exclusive use. Force a shared
oid lock for name2oid(), allowing the sysctlbyname() path to nominally
use a shared lock.
Matthew Dillon [Sat, 6 Jun 2015 18:20:21 +0000 (11:20 -0700)]
libarchive - Ensure futimens() operation is consistent with utimes()
* utimes() allows tv_sec to be -1 to indicate that the element should
not be updated.
* Handle this case for when futimens() is used by setting tv_nsec to
UTIME_OMIT.
* This way operation is consistent whether we use futimens() or use
utimes().
Tomohiro Kusumi [Sat, 6 Jun 2015 10:09:44 +0000 (19:09 +0900)]
sys/gnu/vfs/ext2fs: Remove|fix duplicated macro definitions
- Define MAXNAMLEN using EXT2_NAME_LEN since EXT2_NAME_LEN
is the original ondisk definition.
- Bring back MAXSYMLINKLEN that was removed in a0403c0
using EXT2_MAXSYMLINKLEN. It's probably better to keep both
EXT2_MAXSYMLINKLEN and MAXSYMLINKLEN just like above MAXNAMLEN
does considering it's been exposed to userspace and removing
may break them (although there are probably none or very few).
- Remove duplicated MAXMNTLEN definition.
- (Note that dfly's ext2 seems to be broken currently)
Tomohiro Kusumi [Sat, 6 Jun 2015 12:46:25 +0000 (21:46 +0900)]
sys/gnu/vfs/ext2fs: Add missing ifndef/define/endif
- ext2fs/fs.h needs ifndef/define/endif.
- The next commit ("Remove|fix duplicated macro definitions")
results compile error without this.
- (Note that dfly's ext2 seems to be broken currently)
Tomohiro Kusumi [Sat, 6 Jun 2015 08:36:50 +0000 (17:36 +0900)]
sys/gnu/vfs/ext2fs: Fix terminology of "cylinder group"
- Change "cylinder group" to "block group".
- Both "block group" and "cylinder group" are used in dfly ext2.
These refer to the same(similar) idea and ext2 uses "block group".
Not having two expressions is grep-friendly.
- No binary difference as it only changes some comments.
- (Note that dfly's ext2 seems to be broken currently)
zrj [Wed, 3 Jun 2015 12:01:30 +0000 (15:01 +0300)]
drm/radeon: Sync gpu driver code with Linux 3.11
Little to none functional change.
Use kzalloc()/kfree()/kcalloc() wrappers.
Also use mb() and rmb().
Use linux compat macros:
udelay, mdelay
wake_up
printk
ARRAY_SIZE
ALIGN, round_up
BUG, BUG_ON, BUILD_BUG_ON, WARN
While there, reduce whitespace diffs with Linux 3.11
zrj [Wed, 3 Jun 2015 11:48:49 +0000 (14:48 +0300)]
drm/radeon: Move some prototype declarations
While there fix a typo in r600_cp.c
zrj [Wed, 3 Jun 2015 11:45:46 +0000 (14:45 +0300)]
drm/radeon: Use release_firmware()/request_firmware()
Tomohiro Kusumi [Sat, 6 Jun 2015 02:33:17 +0000 (11:33 +0900)]
sys/gnu/vfs/ext2fs: Remove|avoid duplicated macro definitions
- There are EXT2_ROOTINO and EXT2_ROOT_INO, but using EXT2_ROOTINO
is probably appropriate on dfly (and it does use EXT2_ROOTINO)
considering it's been used by userspace, and other fs have it in
NAME_ROOTINO format.
- WINO is from UFS, but ext2 has it for bad inode for ondisk inode.
- NDADDR and NIADDR (# of slots for direct/indirect block) should be
defined using existing ext2 ondisk definitions.
(or maybe don't even use NDADDR and NIADDR, but these two should be
kept as dfly ext2 code is UFS based and UFS heavily uses these two)
- Remove MAXSYMLINKLEN since there is EXT2_MAXSYMLINKLEN and only
EXT2_MAXSYMLINKLEN is being used. It also conflicts with UFS version
of MAXSYMLINKLEN in vfs/ufs/dinode.h.
- (Note that dfly's ext2 seems to be broken currently)
Sascha Wildner [Fri, 5 Jun 2015 22:49:48 +0000 (00:49 +0200)]
make.conf: Remove a no longer used variable.
Sascha Wildner [Fri, 5 Jun 2015 21:25:51 +0000 (23:25 +0200)]
kernel/syscons: Hack around some issues between console cut/paste and Xorg.
It led to repeating characters (as if typed) when cutting/pasting
in Xorg.
Reported-by: profmakx, jh32, ryuo, and others
Submitted-by: dillon
Imre Vadász [Tue, 2 Jun 2015 21:14:52 +0000 (23:14 +0200)]
drm: hack together an implementation of fb_get_options
This can be used to set the video mode used for the syscons fb console,
a la "video=..." in linux.
Sascha Wildner [Wed, 3 Jun 2015 18:01:46 +0000 (20:01 +0200)]
kernel/syscons: First hacky steps to make syscons work with {i915,radeon}kms.
This is a joint effort of Imre Vadasz (all the drm/i915/radeon related
bits) and me (syscons rendering related bits, mainly).
To enable the support, the "kern.kms_console" tunable needs to be set
via loader.conf.
In-collaboration-with: ivadasz
Sascha Wildner [Tue, 2 Jun 2015 17:09:15 +0000 (19:09 +0200)]
Fix kernel options in files for i915/radeon (kmsdrm -> kms).
Sascha Wildner [Tue, 2 Jun 2015 16:59:17 +0000 (18:59 +0200)]
Update files for recent drm/i915/radeon changes.
Sepherosa Ziehau [Fri, 5 Jun 2015 13:04:54 +0000 (21:04 +0800)]
sensors: By default, stick sensor tasks to the first cpu package
Sepherosa Ziehau [Fri, 5 Jun 2015 13:04:01 +0000 (21:04 +0800)]
ecc/e5: Register sensor tasks to the proper cpu package
Sepherosa Ziehau [Fri, 5 Jun 2015 13:03:24 +0000 (21:03 +0800)]
memtemp/e5: Register sensor tasks to the proper cpu package
Sepherosa Ziehau [Fri, 5 Jun 2015 13:02:20 +0000 (21:02 +0800)]
cpu_topo: Add get_cpu_node_by_chipid()
This function retrieve cpu_node according to the chip ID passed.
Tomohiro Kusumi [Sat, 30 May 2015 10:19:35 +0000 (19:19 +0900)]
sys/gnu/vfs/ext2fs: Cleanup __KERNEL__ related macros
- Add comments on EXT2_XXX(s) macros. These macros on dfly ext2 happen
to be tricky and confusing as their arg types are not consistent.
These macros are taken from e2fsprogs header (rather than macros of
the same name in Linux kernel header) and made to work as a part of
kernel filesystem code.
- Remove unused __KERNEL__ version of EXT2_XXX(s) macros. These are not
compiled on dfly (and most of them result compile error if enabled on
dfly ext2) since __KERNEL__ is designed to be Linux kernel specific
code while dfly ext2 is made to work with userspace version of macros
taken from e2fsprogs as mentioned above. Moreover, some of these
__KERNEL__ version of macros are already deprecated on Linux kernel
and have been removed from the e2fsprogs header accordingly, so there
is no reason to keep it here as well.
- Compiling e2fsprogs does not require ext2_fs.h installed under
/usr/include/... as it has its own copy of the ext2_fs.h in its source
code that the dfly ext2 originally referred to.
- This commit makes no binary difference. Also this commit does not
affect external userspace programs.
- (Note that dfly's ext2 seems to be broken currently)
Tomohiro Kusumi [Sat, 30 May 2015 08:18:16 +0000 (17:18 +0900)]
sys/gnu/vfs/ext2fs: Cleanups
- Align with other #define by removing a space between # and define.
- (Note that dfly's ext2 seems to be broken currently)
Tomohiro Kusumi [Sat, 30 May 2015 02:39:14 +0000 (11:39 +0900)]
sys/gnu/vfs/ext2fs: Sync with Linux kernel's ext2 definitions
- Some of these macros could be used in the existing dfly ext2 code.
- This commit makes no binary difference.
- (Note that dfly's ext2 seems to be broken currently)
Matthew Dillon [Thu, 4 Jun 2015 18:04:37 +0000 (11:04 -0700)]
kernel - Fix altq fairq panic
* Fix an altq fairq panic when RED and/or RIO is enabled. A packet drop
can cause a sequence of events which leads to a NULL pointer dereference
in the fairq round robin code.
Reported-by: Joris Giovannangeli
Sepherosa Ziehau [Thu, 4 Jun 2015 12:31:02 +0000 (20:31 +0800)]
sensors: Accept -1 as sensor thread cpuid
The task will be register to the default sensor thread.
Sepherosa Ziehau [Thu, 4 Jun 2015 11:00:53 +0000 (19:00 +0800)]
coretemp: Utilize per-cpu sensor threads
This greatly simplifies the code.
Sepherosa Ziehau [Thu, 4 Jun 2015 11:00:08 +0000 (19:00 +0800)]
sensors: Create per-cpu sensor task threads
So that accessing to sensor device could be properly cpu localized,
e.g. accessing coretemp(4) could be localized to a proper cpu core,
and accessing ecc(4) could be localized to a proper cpu package.
Sepherosa Ziehau [Mon, 1 Jun 2015 14:19:07 +0000 (22:19 +0800)]
cputimer/tsc: Prevent rdtsc reordering
Use lfence on Intel and mfence on AMD to make sure that all instructions
before rdtsc are completed. This should prevent time warps, if TSC is
selected as cputimer.
Sepherosa Ziehau [Mon, 1 Jun 2015 13:41:44 +0000 (21:41 +0800)]
tsc: Factor out rdtsc_ordered()
Use lfence on Intel and mfence on AMD to make sure that all instructions
before rdtsc are completed.
While I'm here
- Remove redundant functions declaration in lwkt_thread.c to unbreak
compile.
- Add cpu_vendor_id for vkernel64; extra work is needed to set it to a
proper value.
Sascha Wildner [Wed, 3 Jun 2015 07:24:48 +0000 (09:24 +0200)]
rc.conf.5: Fix description of sysvipcd_enable.
Reported-by: James Buren <ryu0@ymail.com>
Matthew Dillon [Tue, 2 Jun 2015 06:37:04 +0000 (23:37 -0700)]
drm - Fix deadlock
* mutex_trylock()'s return value was inverted, resulting in a hanging
lock. Adjust the macro.
* This should fix multiple reports of deadlocks in i915 (intel).
Reported-by: ftigeot
Charlie Root [Tue, 2 Jun 2015 01:17:30 +0000 (18:17 -0700)]
kernel - Fix VM deadlock in optimized file read path
* The optimized file read path can deadlock if the uiocopy or copyout
operation requires a non-trivial VM fault. Most cases were handled,
but a MAP_ENTRY_NEEDS_COPY->vm_map_entry_shadow() path was not being
handled.
* Disallow the optimized path for the COW case.
Reported-by: Sevan Janiyan
François Tigeot [Sun, 31 May 2015 17:02:10 +0000 (19:02 +0200)]
drm: Partially sync drm_ioctl() with Linux 3.14
It now uses the drm_global_mutex lockmgr lock
François Tigeot [Sun, 31 May 2015 16:28:29 +0000 (18:28 +0200)]
drm: Synchronize ioctl definitions with Linux 3.14
Many IOCTLs don't require the acquisition of a lock anymore.
Sepherosa Ziehau [Sat, 30 May 2015 08:47:56 +0000 (16:47 +0800)]
clock/tsc: Run TSC MP synchronization test on APs too.
TSC MP synchronization needs BIOS and hardware coordination. It is
known that buggy BIOS could make TSC not MP synchronized if the system
has multiple CPU packages. Testing TSC MP synchronization only on BSP
is not enough to discover certain types of TSC MP unsynchronization,
e.g. APs TSC is ahead of BSP's TSC by great amount. Thus APs also need
to run TSC MP synchronization test to make sure that TSC is really MP
synchronized. And we are now running at least 50000 TSC MP
synchronization tests on each CPU.
And use lfence to prevent rdtsc from reordering during TSC MP
synchronization test, since we only test TSC MP synchronization on
Intel CPUs currently (mfence will be needed for AMD CPUs).
Sepherosa Ziehau [Sat, 30 May 2015 13:15:04 +0000 (21:15 +0800)]
lwkt: Initialize LWKT objcache initialization to earlier place
So that calling lwkt_create w/o thread template could work during
early boot.
LWKT is now initialized before SOFTCLOCK, since SOFTCLOCK creates
per-cpu callout threads, though the creation uses thread template.
François Tigeot [Sun, 31 May 2015 16:06:33 +0000 (18:06 +0200)]
drm: Sync drm_gem_close_ioctl() with Linux 3.14
Matthew Dillon [Sun, 31 May 2015 02:05:11 +0000 (19:05 -0700)]
net80211 - Fix mis-merge
* Fix a mismerge that messes up broadcast packets.
Reported-by: Romick
Verified-by: Adrian Chadd
Imre Vadász [Sat, 30 May 2015 20:30:07 +0000 (22:30 +0200)]
drm/radeon: Add temperature sensor support
* Implement support for reporting radeon temperature sensors via the
sensor framework, by replacing the original sysfs glue code from Linux.
Tomohiro Kusumi [Fri, 29 May 2015 11:17:39 +0000 (20:17 +0900)]
sys/gnu/vfs/ext2fs: Fix coding style
- Fix coding style that we rarely see in dfly kernel as well as
ansi c code in general.
- It's visually confusing as it resembles multiplication of variables.
- (Note that dfly's ext2 seems to be broken currently)
Tomohiro Kusumi [Fri, 29 May 2015 10:55:39 +0000 (19:55 +0900)]
sys/gnu/vfs/ext2fs: Remove FS/I_FS macros
- These file-local macros are from UFS, but not necessary.
Directly refering to the superblock like the original ext2
code should be clearer.
- (Note that dfly's ext2 seems to be broken currently)
Tomohiro Kusumi [Fri, 29 May 2015 10:31:42 +0000 (19:31 +0900)]
sys/gnu/vfs/ext2fs: Remove unused typedef
- (Note that dfly's ext2 seems to be broken currently)
Tomohiro Kusumi [Fri, 29 May 2015 10:26:01 +0000 (19:26 +0900)]
sys/gnu/vfs/ext2fs: Remove bsd_malloc/free macros
- These file-local macros are not necessary.
These are neither from the original ext2 nor UFS code.
- (Note that dfly's ext2 seems to be broken currently)
zrj [Fri, 29 May 2015 06:27:29 +0000 (09:27 +0300)]
drm/radeon: Expose radeon driver knobs to /boot/loader.conf
Matthew Dillon [Fri, 29 May 2015 21:09:37 +0000 (14:09 -0700)]
kernel - Fix SMP race against fp seek position lock
* Fix a SMP race against write-appends. Atomic ops are used on the
struct file->f_flag field to interlock write-append operations.
However, the fcntl() and flock() code was also modifying file->f_flag
using non-atomic ops.
* Fix fcntl() and flock() to use atomic ops.
* Problem could lead to processes stuck forever in "fpoff".
Reported-by: Sevan Janiyan
François Tigeot [Fri, 29 May 2015 19:02:19 +0000 (21:02 +0200)]
Sync drm_context.c with Linux 3.14
Matthew Dillon [Fri, 29 May 2015 16:43:03 +0000 (09:43 -0700)]
vmpageinfo - Add PG_NEED_COMMIT flag
* Add display of the PG_NEED_COMMIT flag.