Sepherosa Ziehau [Thu, 19 Nov 2015 03:37:28 +0000 (11:37 +0800)]
pthread: Add lwp_setname(2) and implement pthread_set_name_np(3)
- Return thread name through kinfo.
- Show thread name in ps(1) for 'Hc'.
- Show thread name in top(1), if it is different from process name.
François Tigeot [Thu, 19 Nov 2015 08:03:20 +0000 (09:03 +0100)]
drm/radeon: Update to Linux 3.18
Mostly bugfixes and audio refactoring, no new functionalities.
This update has been prepared by Rimvydas Jasinskas.
Sepherosa Ziehau [Thu, 19 Nov 2015 07:45:01 +0000 (15:45 +0800)]
kinfo/proc: Set nthreads properly for kernel threads
François Tigeot [Thu, 19 Nov 2015 07:31:48 +0000 (08:31 +0100)]
drm: Add jiffies_to_usecs and nsecs_to_jiffies64()
Sepherosa Ziehau [Thu, 19 Nov 2015 07:07:13 +0000 (15:07 +0800)]
top: Fix header name and width for process running cpu.
While I'm here, remove no longer displayed columns from manpage.
Matthew Dillon [Thu, 19 Nov 2015 06:58:19 +0000 (22:58 -0800)]
hammer2 - stabilization pass on slave sync (2)
* Augment xop_scanall to allow flags to be passed in.
* Implement HMNT2_LOCAL (-o local) flag for debugging cluster elements.
* Fix missing data panic by resolving chain data in the slave sync scan.
* Fix PFS installation ioctl to add the new PFS to the cluster as
appropriate.
* Numerous cleanups and fixes to the slave sync code which was previously
ripped up by the XOPs work. Note that the slave sync code still has tons
of issues and races.
Matthew Dillon [Thu, 19 Nov 2015 06:56:45 +0000 (22:56 -0800)]
hammer2 - hammer2_mount work
* Add mount options parsing.
* Add '-o local' which on the initial device mount will forcefully
disable clustering, allowing individual elements to be mounted
separately and compared (for debugging).
Matthew Dillon [Wed, 18 Nov 2015 22:54:01 +0000 (14:54 -0800)]
hammer2 - stabilization pass on slave sync
* Add a temporary hack which avoids a NULL pointer panic. This goes a long
way to stabilizing the backend slave sync threads.
Matthew Dillon [Wed, 18 Nov 2015 07:02:00 +0000 (23:02 -0800)]
hammer2 - Add 'info' and 'mountall' directives
* hammer2 info - scans all block devices with hammer2 partitions and
displays available super-root entries.
* hammer2 mountall - scans all block devices with hammer2 partitions
and mounts their @LOCAL PFS in /var/hammer2/LOCAL.serno.s%d%c
in the background, waiting until the mounts complete or 15 seconds
without a status change.
The idea here is to bring all local block devices online, allowing
all PFS's related to the H2 block devices to become active (mounting
one makes them all available), but still giving the system operator
the ability to idle a block device for maintenance by dismounting
all of its actively-mounted PFSs.
A bit confusing, the feature will be ironed out later.
Sepherosa Ziehau [Wed, 18 Nov 2015 06:52:51 +0000 (14:52 +0800)]
kern: Hold lwp before possible blocking operation
Confirmed-by: dillon@
Matthew Dillon [Wed, 18 Nov 2015 02:55:28 +0000 (18:55 -0800)]
loader - Add nfsroot tunables to manual.
* Add nfsroot.iosize and nfsroot.rahead to the loader.8 manual page.
Matthew Dillon [Wed, 18 Nov 2015 02:46:11 +0000 (18:46 -0800)]
kernel - Improve netbooted root NFS mounts and allow tunable overrides.
* Add two tunables and set the default read-ahead for netbooted root
mounts to 4.
nfsroot.iosize defaults to 8192
nfsroot.rahead defaults to 4
* The default iosize must remain 8192 as many NFS servers can't handle
32768, but if your nfs server is on a DragonFly box you can override it
in your /boot/loader.conf, setting it to 32768.
With the improved read-ahead default, read performance should improve
significantly on netbooted root mounts. With the combination of the new
default read ahead and nfsroot.iosize=32768, read performance should be
able to max-out a GigE link (100+ MBytes/sec) (assuming the originating
storage can push that rate).
* Does not effect add-on nfs mounts in /etc/fstab which already used a
reasonable read-ahead setting.
Sepherosa Ziehau [Wed, 18 Nov 2015 02:00:43 +0000 (10:00 +0800)]
top: Put kernel idle threads, i.e. idle_X to the end of the processes list
Sepherosa Ziehau [Tue, 17 Nov 2015 12:55:29 +0000 (20:55 +0800)]
top: Fix up processes cpu usage percentage using uticks+sticks+iticks
Matthew Dillon [Wed, 18 Nov 2015 01:21:14 +0000 (17:21 -0800)]
hammer2 - Present hardlink solution, misc stability work
* The H2 design has had a long-standing problem of losing track of
hardlinks when intermediate directories are renamed, breaking the
common-parent-directory design for the inode target.
Fix this issue by placing the hardlink target in the first common
parent directory chflagged 'xlink' (or the root of the mount if
no parent is chflagged 'xlink'). Thus, by default, hardlink targets
for cross-directory situations will be placed in the root of the mount
and thus no confusion can ever occur if a mid-path directory is moved
within the hierarchy.
* This change does not modify the behavior of placing the hardlink target
in the same directory as the hardlink pointers when they are all in the
same directory.
* installworld now chflags /*, /usr/*, /var/*, and /home/* 'xlink'.
* Note that hardlink and rename operations across 'xlink' boundaries
are disallowed (for obvious reasons), but system operators have very
rarely used hardlinks in major directory crossings. However, we might
be pushing it a bit much to automatically chflag /home/*.
In the past there have been a few minor situations where major-crossing
hardlinks are attempted. 'lpr' for example tries to hardlink a user
file into /var/spool, but will copy it if it cannot. Similarly there
have been situations in the past where hardlinks between home directories
have been used to save space, but franklyl softlinks can be used almost
as easily and such situations have fallen into disfavor.
* Stability improvements to the XOP FIFO mechanics, locking cleanups.
Matthew Dillon [Tue, 17 Nov 2015 23:19:42 +0000 (15:19 -0800)]
libc - Add 'xlink' chflags
* Add the xlink flag. This will be used by hammer2 to demark boundaries
where cross-link hardlinks will not be allowed. In otherwords, this tells
hammer2 how far up the directory tree it has to store the inode used for
a hardlink.
* Automatically set the xlink flag for /*, /usr/*, and /var/*.
* Note that for the case where all hardlinks are situated in the same
directory, hammer2 will place the hardlink inode in that directory.
It is when hardlinks cross directories that hammer2 has to emplace the
target inode in some parent directory where it can find it. This is
where the xlink flag helps.
It is not required to use the xlink flag, but if you have cross-directory
hardlinks in hammer2 and you do not use the flag the inodes for those
hardlinks will be consolidated at the root of the mount which will have
obvious performance issues and cause snapshots of subdirectories to be
imprecise because they won't cover the hardlink target.
* Represents a trade-off for a very difficult problem that I haven't been
able to solve. While HAMMER2 can easily calculate a common parent
directory for the hardlink target inode when hardlinks are created or
deleted or renamed, problems arise when a directory in the directory
path leading from that point to the hardlink is radically moved within
the larger directory hierarchy, breaking the ability for hammer2 to locate
the hardlink target using the above method.
Rather than force hardlinks to be stored in the root of the mount, which
reduces the usefulness of subdirectory snapshots, this new mechanism is
being added to give the sysop the ability to retain nearly all the
advantages of hardlinks without losing the ability to snapshot reasonable
subdirectory elements.
Imre Vadász [Wed, 11 Nov 2015 20:53:03 +0000 (21:53 +0100)]
syscons: Keep screen content and cursor pos when switching to kms console.
Imre Vadasz [Wed, 22 Oct 2014 10:31:16 +0000 (12:31 +0200)]
vknet - Avoid zombie ssh processes being left when reconnecting.
François Tigeot [Tue, 17 Nov 2015 20:43:44 +0000 (21:43 +0100)]
drm/i915: Use signal_pending()
Tomohiro Kusumi [Sun, 15 Nov 2015 11:36:25 +0000 (20:36 +0900)]
sys/dev/disk/dm: Minor targets fixes
Tomohiro Kusumi [Tue, 17 Nov 2015 07:36:02 +0000 (16:36 +0900)]
sys/dev/disk/dm: Cleanup header includes
Tomohiro Kusumi [Fri, 13 Nov 2015 11:39:43 +0000 (20:39 +0900)]
sys/dev/disk/dm: Cleanups
* Fix comments.
* Add a blank line between functions.
* Some minor fixes on dm core.
Sepherosa Ziehau [Tue, 17 Nov 2015 07:53:31 +0000 (15:53 +0800)]
kinfo: Set kernel idle threads state to SIDL.
So idle threads could be detected in a better way. Utilize this
in top(1).
Sepherosa Ziehau [Tue, 17 Nov 2015 06:51:00 +0000 (14:51 +0800)]
udp: Wakeup callers sleeping on failed to connect socket.
Sepherosa Ziehau [Tue, 17 Nov 2015 06:25:29 +0000 (14:25 +0800)]
sound/dsp: Fix nonblocking support.
Discussed-with: dillon@
Tested-by: dillon@ and me
Sepherosa Ziehau [Tue, 17 Nov 2015 02:36:37 +0000 (10:36 +0800)]
bus: Fix devctl nonblocking support.
Discussed-with: dillon@
Sascha Wildner [Mon, 16 Nov 2015 19:56:23 +0000 (20:56 +0100)]
kernel: Remove more syslink remains (headers and a define).
The only related header remaining is <sys/syslink_rpc.h> which is
heavily used (struct syslink_desc), so we'd have to untangle that
first.
Sascha Wildner [Mon, 16 Nov 2015 17:35:46 +0000 (18:35 +0100)]
<unistd.h>: Remove unwhiteout() prototype. We never had this function.
Sascha Wildner [Mon, 16 Nov 2015 17:22:31 +0000 (18:22 +0100)]
kernel: Fix three declarations of (obsolete) syscalls.
This mainly fixes some comments and strings in generated files.
Sascha Wildner [Mon, 16 Nov 2015 16:54:59 +0000 (17:54 +0100)]
kernel/slip: Remove opt_slip.h inclusion, which is no longer needed.
Sepherosa Ziehau [Mon, 16 Nov 2015 14:04:27 +0000 (22:04 +0800)]
kinfo: Zero-out pctcpu for zombie processes
Sepherosa Ziehau [Mon, 16 Nov 2015 13:52:26 +0000 (21:52 +0800)]
top: Use kp_ktaddr as kernel thread 'id'
Thread names are not unique, e.g. "usbusX" and "usched X"
Sepherosa Ziehau [Mon, 16 Nov 2015 13:51:33 +0000 (21:51 +0800)]
kinfo: Deliver address of kernel thread
It could be used as "relatively" unique id for kernel threads.
Sascha Wildner [Mon, 16 Nov 2015 10:05:19 +0000 (11:05 +0100)]
Remove obsolete SLIP_IFF_OPTS kernel option (now net.sliffopts tunable).
Sascha Wildner [Mon, 16 Nov 2015 09:56:01 +0000 (10:56 +0100)]
Update the pciconf(8) database.
November 8, 2015 snapshot from http://pciids.sourceforge.net/
John Marino [Sun, 15 Nov 2015 17:41:58 +0000 (18:41 +0100)]
Always build world under C/POSIX locale
John Marino [Sun, 15 Nov 2015 23:11:53 +0000 (00:11 +0100)]
gold linker: Fix SYSROOT definition (unbreaks world for some)
The linkers are supposed to have a different system rool for the
crosstool versions, but this was not working for the gold linker. As
a result, the host libraries are getting picked up instead of the
world object lib directories.
This commit fixes the build problem. As a result, a local modification
to a gold source file is been removed (for 2.24 and 2.25)
John Marino [Sun, 15 Nov 2015 16:23:21 +0000 (17:23 +0100)]
Remove offsetof definitions from binutils* sysdep.h
There's a guard to prevent redefinition of offsetof. The problem is that
the <sys/cdefs.h> definition comes in just after, so it's still redefined.
Just remove the definition from sysdep.h and use the DF version (this
avoids a bunch of redefinition warnings during building)
John Marino [Sun, 15 Nov 2015 14:30:40 +0000 (15:30 +0100)]
Block out two more _Noreturn redefinitions
Sepherosa Ziehau [Sun, 15 Nov 2015 14:58:53 +0000 (22:58 +0800)]
inpcb: Unbreak SO_REUSEPORT support.
inp_lport must not be whacked when inpcb is removed from local
port hash, since the inp_lport will be used to locate local group
Use inp_phd instead to detect whether the inpcb is on local port
hash or not.
This is a bug introduced by part of:
296c350d3c63a181744b80a4b7973dac5fc162a3
Sepherosa Ziehau [Sun, 15 Nov 2015 14:02:55 +0000 (22:02 +0800)]
udp: Fix bind races due to async close and random socket inital msgport
Bind for UDP sockets is now serialized by local port based netisr. And
on detach path, the UDP inpcb is removed from local port hash before
other netisrs are synchronized, so that the local port for the detaching
UDP inpcb could be recycled timely.
Sepherosa Ziehau [Sun, 15 Nov 2015 12:19:11 +0000 (20:19 +0800)]
tcp: Fix bind races due to async close and random socket inital msgport
Bind for TCP sockets is now serialized by netisr0. Add comment about
this bind race.
Reported-by: Justin Sherrill
John Marino [Sun, 15 Nov 2015 12:17:13 +0000 (13:17 +0100)]
libstdc++ (5.0): Modify to allow clang 3.6+ to used C99 functions
The "throw()" attributes in libstdc++ are unique to GCC, so when clang 3.6+
tries to use them, a prototype mismatch error comes up. This modification
allows clang to use the entire libstdc++.
John Marino [Sun, 15 Nov 2015 12:15:54 +0000 (13:15 +0100)]
libdiffutils: Don't "predefine" _Noreturn
Libdiffutils config.h defines _Noreturn which causes a redefinition warning
when <sys/cdefs> defines it afterward. Comment it out to prevent the warnings.
John Marino [Sun, 15 Nov 2015 10:49:21 +0000 (11:49 +0100)]
Tweak cdefs.h (no functional change)
This check was bothering me so I tighted it up.
We should think about removing all these GNUC version checks for at
least GCC 4.2.1 and below. I suspect DF will not build with less
than GCC 4.4 in any case, but certainly GCC 3 and below could never
be used, so these definitions that depend on GCC 2, 3 will never
fail thus they should be set uncondionally to clean this header up.
John Marino [Sat, 14 Nov 2015 14:26:33 +0000 (15:26 +0100)]
Switch to using gold linker by default
DragonFly has always used the "GNU ld" linker to build itself. Now that
the ELF boot loader has been fixed to handle zero-offset headers (seen
with zero-length ELF notes), the newer gold linker can handle being the
default. That's what this commit does.
People can continue with the classic linker by putting the following in
/etc/make.conf: WORLD_LDVER=ld.bfd
... and setting "LDVER=ld.bfd" in their environment.
The gold linker does not use the bfd library and thus is limited to the
ELF format (fine for DF). It's code is much cleaner (c++), so it's easy
to understand and modify, and it reportedly links complex c++ object
files significantly faster than the BFD-based linker. Both linkers are
written by the same person, Ian Lance Taylor.
John Marino [Sat, 14 Nov 2015 17:12:05 +0000 (18:12 +0100)]
Restore buildworld from clang (adjust libm)
Functions like "isinff" come from GCC only, causes a missed reference when
the world is built with clang. To solve, bring back FreeBSD versions of
round(|f|l). An additional benefit is that these functions appear to be
improved over the OpenBSD versions (avoids unnecessary conversions). The
FreeBSD roundl uses ENTERI/RETURNI macros so I left these off meaning DF
will still not able to raise exceptions on roundl.
Since isinff and friends are no longer used, clang can continue further with
building the world.
John Marino [Sat, 14 Nov 2015 15:03:25 +0000 (16:03 +0100)]
Restore buildworld using clang (XZ)
The new XZ was configured using GCC and thus clang will fail when building
liblzma due to missing a gcc-specific header. This added check will restore
building DragonFly with clang.
Imre Vadasz [Sat, 14 Nov 2015 14:06:43 +0000 (15:06 +0100)]
drm: Fix previous commit
Imre Vadasz [Sat, 14 Nov 2015 14:06:43 +0000 (15:06 +0100)]
drm: Handle DRM_CAP IOCTLs for querying cursor width and height.
Fixes cursor corruption on my AMD Kaveri APU.
Taken-from:
8716ed4e7bed4e4c7e3f37940e950ddc0362f450 (linux)
François Tigeot [Sat, 14 Nov 2015 14:19:47 +0000 (15:19 +0100)]
drm: Import memchr_inv() from NetBSD
John Marino [Sat, 14 Nov 2015 13:26:11 +0000 (14:26 +0100)]
boot loader: Improve code of elf header initialization
This has been driving me crazy. This change has no practical difference,
but I didn't like seeing the code loop through headers twice for no good
reason. This moves all the initialization to a single loop.
François Tigeot [Sat, 14 Nov 2015 11:15:59 +0000 (12:15 +0100)]
drm: Implement a few missing functions from linux/timer.h
François Tigeot [Sat, 14 Nov 2015 11:11:38 +0000 (12:11 +0100)]
drm: Add list_replace_init()
Obtained from: drm/radeon's mkregtable.c
François Tigeot [Sat, 14 Nov 2015 10:44:23 +0000 (11:44 +0100)]
drm: Implement signal_pending()
Sepherosa Ziehau [Sat, 14 Nov 2015 09:02:46 +0000 (17:02 +0800)]
top: Fix system process cpu usage percentage display
Not accurate, but much better than 0.00%
Sepherosa Ziehau [Sat, 14 Nov 2015 07:15:00 +0000 (15:15 +0800)]
top: Fix 'c' for -S and -I
Sepherosa Ziehau [Sat, 14 Nov 2015 07:12:02 +0000 (15:12 +0800)]
style: Fix white spaces
Sepherosa Ziehau [Fri, 6 Nov 2015 07:24:22 +0000 (15:24 +0800)]
uipc: Port Unix socket domain GC from FreeBSD.
The new GC code records struct file in unpcb when the unpcb
is used as one of the rights. And GC only scans all unpcbs,
instead of all files, and GC only takes unpcbs used as rights
as targets. Unlike FreeBSD:
- We don't scan sockets on so_comp, since they are on unpcb
global lists.
- We don't allocate a temporary array for all unreachable
Unix domain sockets, since it could be pretty large.
Instead, the unreachable Unix domain sockets are processed
chunk by chunk (in the same style as our original GC code).
The original GC code is still kept around for reference
(under UNP_GC_ALLFILES).
And optimize unp_discard() a little bit by calling fdrop()
directly, if the right is not a Unix domain socket. This is
also taken from FreeBSD.
While I'm here, reorder unpcb fields (moving most commonly
used fields to the beginning of unpcb) and add more comment.
Matthew Dillon [Sat, 14 Nov 2015 01:44:42 +0000 (17:44 -0800)]
kernel - Fix comment type-o
* Fix comment type-o
Matthew Dillon [Sat, 14 Nov 2015 01:39:46 +0000 (17:39 -0800)]
kernel - Fixes for usb modems
* Separate t_sc into t_sc and t_slsc to allow line disciplines to
coexsist with USB serial. This allows SLIP to work. Please don't
ask me why I still need to use SLIP.
* Fix several panics in usb_serial.c. Missing initializations,
deadlocks due to locks held during blocking operations,
missing unlocks, etc.
* Fix improper signed-char promotion to int causing high-bits to be
set in calls to linesw[].l_rint(), which prevented SLIP from recognizing
packets.
* Allow flags to be adjusted for SLIPs sl%d interfaces, in particular
allow them to be setup as broadcast interfaces instead of point-to-point
interfaces if desired. Settable via /boot/loader.conf.
* Still TODO: Bugs present related to detection of modem control bits.
Sascha Wildner [Fri, 13 Nov 2015 21:10:50 +0000 (22:10 +0100)]
Some adjustments to the recent dsched removal.
* Make 'options DSCHED_FQ' a no-op for now. It used to be in our
default config, so give people some time to edit their custom
configs derived from X86_64_GENERIC, like we did for other such
options. It will be completely removed at a later point in time
after the release.
* Add a quick note to UPGRADING about this.
* While here, remove associated manual pages and MLINKS too.
François Tigeot [Mon, 9 Nov 2015 20:04:10 +0000 (21:04 +0100)]
kernel/drm: Fix an unitialized variable warning when building with -O0.
Reported-by: tuxillo
Sascha Wildner [Fri, 13 Nov 2015 17:24:00 +0000 (18:24 +0100)]
Remove <malloc.h> from the system.
Originally, I wanted to follow FreeBSD which errors if __STDC__ is
defined and silently includes <stdlib.h>, which has the malloc()
and friends prototypes, if it is not defined. The only case where
__STDC__ isn't defined used to be when -traditional was passed to
GCC, which used to attempt an emulation of a pre-standard compiler.
But -traditional has since been made a cpp(1) specific option in
newer releases of GCC, so it becomes more and more pointless to
support <malloc.h>, even if we went with FreeBSD's version.
Therefore, remove it completely.
Also disable its usage in a number of contrib/ software which
expected it due to its presence at the time when the software was
configured.
Suggested-by: marino, who also fixed the resultant dports breakage
Tomohiro Kusumi [Thu, 12 Nov 2015 11:04:43 +0000 (20:04 +0900)]
sys/dev/disk/dm: Don't expect destroy() to set config to NULL
Having a comment like below in dm core that expects programmers
to code their dm targets in a certain way is not efficient.
They may not read such a rule written in the source.
/*
* Remove target specific config data. After successfull
* call table_en->target_config must be set to NULL.
*/
Just check a return value of destroy() and set config to NULL
on dm core side since it's also visible to dm core. There is
nothing targets can/would do with the config pointer other than
setting it to NULL considering targets have just freed it.
Tomohiro Kusumi [Wed, 11 Nov 2015 11:46:25 +0000 (20:46 +0900)]
sys/dev/disk/dm: Add a comment on race on unload
There is a minor race window in dm_modcmd() after the below
conditional on unloading dm.ko. It's possible to create a new
device after it gets beyond the conditional with 0.
if (dm_dev_counter > 0)
return EBUSY;
Running the below a.sh and then b.sh concurrently causes
kernel panic. Avoiding this race seems to be difficult using
the existing locks that are all file local ones. The panic
can be reproduced with or without the previous commit.
===== a.sh
#!/usr/local/bin/bash
while [ 1 ]; do
kldload dm
kldunload dm
done
===== b.sh
#!/usr/local/bin/bash
kldload dm
while [ 1 ]; do
dmsetup create zero1 --table '0 100 zero'
dmsetup remove /dev/mapper/zero1
done
Tomohiro Kusumi [Tue, 10 Nov 2015 12:57:14 +0000 (21:57 +0900)]
sys/dev/disk/dm: Fix device counter handling
dm_dev_list and its element counter dm_dev_counter should be
protected by the same lock dm_dev_mutex. Having these updated
separately makes code logic more complex than it should.
If dm_dev_counter is protected by dm_dev_mutex, then no need
to care if dm_dev_counter++/-- are atomic or not.
Tomohiro Kusumi [Wed, 11 Nov 2015 11:37:36 +0000 (20:37 +0900)]
sys/dev/disk/dm: Fix/refactor alloc/free functions [6/6]
Rename dm_target_rem() to dm_target_remove() for consistency.
Tomohiro Kusumi [Wed, 11 Nov 2015 11:25:52 +0000 (20:25 +0900)]
sys/dev/disk/dm: Fix/refactor alloc/free functions [5/6]
Add dm_target_free().
Tomohiro Kusumi [Wed, 11 Nov 2015 10:51:21 +0000 (19:51 +0900)]
sys/dev/disk/dm: Fix/refactor alloc/free functions [4/6]
dm_target_alloc() takes char *name, but does nothing with it.
Add strlcpy and remove strlcpy from each target's init().
Tomohiro Kusumi [Wed, 11 Nov 2015 10:02:10 +0000 (19:02 +0900)]
sys/dev/disk/dm: Fix/refactor alloc/free functions [3/6]
dm_dev_alloc()/free()
* Make them static.
* Make alloc() take name and uuid just like dm_pdev_alloc().
* Refactoring.
dm_pdev_alloc()/free()
* Fix memory leak.
* Rename dm_pdev_rem() to dm_pdev_free().
A simple kfree function should be xxx_free() but not xxx_rem().
xxx_rem() isn't necessarily a name used for just kfree() in
other files, which makes naming very confusing.
* Refactoring.
Tomohiro Kusumi [Tue, 10 Nov 2015 11:50:13 +0000 (20:50 +0900)]
sys/dev/disk/dm: Fix/refactor alloc/free functions [2/6]
Rename dm_dev_rem() to dm_dev_lookup_evict(). There is
dm_dev_remove(), and having remove()/rem() is confusing.
Refactor dm_dev_lookup()/dm_dev_lookup_evict() using a common
lookup function.
Disable dm_dev_lookup_evict() by #if0. This function is only
used for renaming, but renaming is not implemented.
Tomohiro Kusumi [Tue, 10 Nov 2015 11:02:49 +0000 (20:02 +0900)]
sys/dev/disk/dm: Fix/refactor alloc/free functions [1/6]
There are way too many functions with similar names that do
something related to removing and/or freeing dm device.
dm_dev_rem_dev() doesn't need to be a function so get rid of it.
dm_dev_destroy() can be a static function.
Sascha Wildner [Thu, 12 Nov 2015 12:44:26 +0000 (13:44 +0100)]
Remove dsched_bfq.4 manual page from the Makefile too.
Sascha Wildner [Thu, 12 Nov 2015 12:36:57 +0000 (13:36 +0100)]
Fix module name in the drm.4 manual page.
Sascha Wildner [Thu, 12 Nov 2015 12:36:03 +0000 (13:36 +0100)]
Remove no longer used dsched modules & manpage via 'make upgrade'.
Sepherosa Ziehau [Thu, 12 Nov 2015 10:39:38 +0000 (18:39 +0800)]
uipc: Release token in the proper order on unconnected DGRAM send path
Reported-by: zrj
John Marino [Thu, 12 Nov 2015 08:22:48 +0000 (09:22 +0100)]
Update some generated collate definitions
Likely due to recently fixed bugs, four colldef files generated slightly
differently than before. The changes look correct so let's just take the
latest version.
John Marino [Thu, 12 Nov 2015 08:19:31 +0000 (09:19 +0100)]
cldr2def: Use explicit target files when generating symlinks
Update the generated makefiles to use a target filename on symlinks.
This avoids creating a directory symlink with the target directory
does not exist.
Taken from: FreeBSD
John Marino [Wed, 11 Nov 2015 21:50:19 +0000 (22:50 +0100)]
Remove obsolete references to libedit from gdb
We removed libedit from gdb a long time ago (readline is mandatory
so we used bundled version) but apparently these references were
missed.
Matthew Dillon [Wed, 11 Nov 2015 18:52:23 +0000 (10:52 -0800)]
kernel - Remove dsched
* After consultation, remove dsched from the kernel. The original idea
is still valid but the current implementation has had lingering bugs for
several years now and we've determined that it's just got its fingers into
too many structures.
Also, the implementation was designed before SSDs, and doesn't play well
with SSDs.
* Leave various empty entry points in so we can revisit at some
future date.
Matthew Dillon [Wed, 11 Nov 2015 18:06:05 +0000 (10:06 -0800)]
drm - Fix kldload issue
drm_setsarea() -> drm_legacy_getsarea() in one place, fixed kldload issue
w/haswell graphics.
François Tigeot [Wed, 11 Nov 2015 08:06:27 +0000 (09:06 +0100)]
drm/i915: Remove old i915kms.ko modules
François Tigeot [Wed, 11 Nov 2015 07:49:16 +0000 (08:49 +0100)]
drm: Add nsecs_to_jiffies()
Imre Vadász [Tue, 10 Nov 2015 20:09:00 +0000 (21:09 +0100)]
systat/pv: Avoid systat pvmmeter crashing for refresh rates <1s.
Also fixes values displayed for non-integral refresh-rate values.
Imre Vadász [Tue, 10 Nov 2015 21:18:28 +0000 (22:18 +0100)]
top: Actually implement DragonFly code for the interactive 'c' command.
Using the 'c' command now allows filtering displayed processes by
command name, as documented in top(1). Filtering by command name displays
only processes whose command contains the given substring.
This matches thte behaviour of the 'g' option in OpenBSD's top.
Using 'c' again and just pressing enter without entering a command name,
disables filtering and displays all processes again.
Sascha Wildner [Tue, 10 Nov 2015 18:32:03 +0000 (19:32 +0100)]
Sync col(1) with FreeBSD.
* Multibyte character support.
* Misc bug fixes and code cleanup.
Sascha Wildner [Tue, 10 Nov 2015 18:01:05 +0000 (19:01 +0100)]
Remove unnecessary whitespace in macro arguments in some manual pages.
John Marino [Tue, 10 Nov 2015 08:40:17 +0000 (09:40 +0100)]
Add README for basic locale source file generation
Bapt wrote this README for FreeBSD, let's bring it in as a starting point.
John Marino [Tue, 10 Nov 2015 08:09:15 +0000 (09:09 +0100)]
nl_langinfo(CODESET): Again return "US-ASCII" for C/POSIX
Reflecting that the "C"/"POSIX" locale has a different encoding (8-bit)
than "US-ASCII" (7-bit) resulted in immediate fallout on ports,
particularly on python.
Looking at glibc, nl_langinfo returns "ANSI_X3.4-1968" for both "C" and
"POSIX" locales, which is the Linux equivalent of US-ASCII.
Despite it being impossible to distinguish between C/POSIX and US-ASCII
with this change, it needs to be reverted for the sake of third-party
software compatibility. (Remember nl_langinfo has no standard)
Matthew Dillon [Tue, 10 Nov 2015 00:21:14 +0000 (16:21 -0800)]
kernel - Improve tcp starting window
* The tcp sender inflight management was forcing a starting window that
was way too small for international connections, causing a bulk fetch
to take several seconds to ramp up. This management is enabled by default.
* Add net.inet.tcp.inflight_start to set the starting window and set the
default to something more reasonable, 33792. Inflight management previously
used net.inet.tcp.inflight_min as the starting value, which was 6144 and
way too small.
* This will significantly improve the performance of small fetches, e.g.
pkg install's, update's, and upgrades, and the performance of small web
server fetches occuring over high latency connections.
Reported-by: tuxillo
John Marino [Mon, 9 Nov 2015 22:22:11 +0000 (23:22 +0100)]
nl_langinfo: Simplify case ladder
The NONE:US-ASCII case isn't necessary. The "NONE:" case will handle
US-ASCII, so let's remove the redundant handling.
John Marino [Mon, 9 Nov 2015 21:50:27 +0000 (22:50 +0100)]
locales: Enforce US-ASCII encoding (limited to 7-bit)
The US-ASCII format was getting treated identically to POSIX. It is
supposed to throw an ILSEQ errno if a value of 0x80 or greater is
encountered, so let's bring back the "ASCII" handling.
While here, change nl_codeset to return US-ASCII only when the encoding
really is "US-ASCII". Before "C" and "POSIX" encoding returned this
string, so now they return "POSIX".
John Marino [Mon, 9 Nov 2015 16:39:06 +0000 (17:39 +0100)]
localedef(1): Remove GCC pragmas on two source files
Taken-from: FreeBSD
Sepherosa Ziehau [Mon, 9 Nov 2015 14:01:41 +0000 (22:01 +0800)]
uipc: Use taskqueue to run GC.
And revoke no longer used unp_gcing.
Sepherosa Ziehau [Mon, 9 Nov 2015 13:07:45 +0000 (21:07 +0800)]
uipc: No need to call sorflush() before unp_gc()
And move unp_gc() to the end of unp_detach().
Sepherosa Ziehau [Fri, 6 Nov 2015 15:58:28 +0000 (23:58 +0800)]
test: Add test for unix socket cross/self reference
cross ref: s1 on s2 rcvbuf, while s2 on s1 rcvbuf.
self ref: s1 on s1 rcvbuf, while s2 on s2 rcvbuf.
Tomohiro Kusumi [Mon, 9 Nov 2015 10:54:55 +0000 (19:54 +0900)]
sys/dev/disk/dm: Check if target has registered handlers
Define which handlers are mandatory or optional.
init(), destroy(), strategy() are (or should be) mandatory.
Others aren't needed by all targets hence should be optional.
Add sanity checks in dm_target_insert() to make sure targets
have implemented and registered mandatory handlers.
Cleanup struct dm_target by removing obvious comments and
adding comments on mandatory/optional handlers.
Tomohiro Kusumi [Mon, 9 Nov 2015 10:21:17 +0000 (19:21 +0900)]
sys/dev/disk/dm: Rename aprint_debug() to dmdebug()
Not sure what aprint is, but dmdebug() is better considering
this macro does
if (dm_debug_level) kprintf(...);
Tomohiro Kusumi [Mon, 9 Nov 2015 09:56:38 +0000 (18:56 +0900)]
sys/dev/disk/dm: Add dm_alloc_string()
Add dm_alloc_string() which kmallocs char* from M_DM.
It was confusing that targets had to use M_DM for status
purpose while targets had their own M_DMXXX. Using this
wrapper function makes target code less error prone when
allocating a string without an extra comment on usage.