openbsd
7 years agoDo not use the interface pointer after if_put(). Rename ipip_input_gif()
bluhm [Tue, 20 Jun 2017 11:12:13 +0000 (11:12 +0000)]
Do not use the interface pointer after if_put().  Rename ipip_input_gif()
to ipip_input_if() and always pass the ifp.  Only dump the packet
to bpf if we are called with a gif(4) interface.
OK mpi@

7 years agoConvert sodidle() to timeout_set_proc(9), it needs a process context
mpi [Tue, 20 Jun 2017 09:10:04 +0000 (09:10 +0000)]
Convert sodidle() to timeout_set_proc(9), it needs a process context
to grab the rwlock.

Problem reported by Rivo Nurges.

ok bluhm@

7 years agoRemove KERNEL_LOCK() asserts.
mpi [Tue, 20 Jun 2017 09:03:39 +0000 (09:03 +0000)]
Remove KERNEL_LOCK() asserts.

pf table code iterates on a radix tree and currently relies on the
NET_LOCK() to do the serialization.

Found the hardway by jasper@

7 years agoBetter document the :s ex command and its variants.
bentley [Tue, 20 Jun 2017 07:32:56 +0000 (07:32 +0000)]
Better document the :s ex command and its variants.

ok jmc@

7 years agosync
jsg [Tue, 20 Jun 2017 06:37:30 +0000 (06:37 +0000)]
sync

7 years agoremove some magic numbers in the flush-by-asid code and check if the CPU
mlarkin [Tue, 20 Jun 2017 06:25:01 +0000 (06:25 +0000)]
remove some magic numbers in the flush-by-asid code and check if the CPU
supports that feature before we try to use it.

discussed with deraadt

7 years agoSVM: better cleanbits handling. Fixes an issue on Bulldozer CPUs causing
mlarkin [Tue, 20 Jun 2017 05:34:41 +0000 (05:34 +0000)]
SVM: better cleanbits handling. Fixes an issue on Bulldozer CPUs causing
#TF exceptions during guest VM boot

ok brynet

7 years agofix some nits
jmatthew [Tue, 20 Jun 2017 04:37:17 +0000 (04:37 +0000)]
fix some nits
ok dlg@

7 years agoRevert a previous commit that increased the virtio queue size since it
mlarkin [Tue, 20 Jun 2017 01:59:12 +0000 (01:59 +0000)]
Revert a previous commit that increased the virtio queue size since it
appears to be causing some instability.

7 years agodynamically scale the size of the per cpu cache lists.
dlg [Mon, 19 Jun 2017 23:57:12 +0000 (23:57 +0000)]
dynamically scale the size of the per cpu cache lists.

if the lock around the global depot of extra cache lists is contented
a lot in between the gc task runs, consider growing the number of
entries a free list can hold.

the size of the list is bounded by the number of pool items the
current set of pages can represent to avoid having cpus starve each
other. im not sure this semantic is right (or the least worst) but
we're putting it in now to see what happens.

this also means reality matches the documentation i just committed
in pool_cache_init.9.

tested by hrvoje popovski and amit kulkarni
ok visa@

7 years agos/a active/an active/
dlg [Mon, 19 Jun 2017 23:48:49 +0000 (23:48 +0000)]
s/a active/an active/

7 years agos/pool_set_hardlimit/pool_sethardlimit/
dlg [Mon, 19 Jun 2017 23:45:42 +0000 (23:45 +0000)]
s/pool_set_hardlimit/pool_sethardlimit/

from schwarze@

7 years agos/can be from process context/can be called from process context/
dlg [Mon, 19 Jun 2017 23:45:13 +0000 (23:45 +0000)]
s/can be from process context/can be called from process context/

from schwarze@

7 years agotalk about the per cpu caches in pools by documenting pool_cache_init()
dlg [Mon, 19 Jun 2017 23:44:11 +0000 (23:44 +0000)]
talk about the per cpu caches in pools by documenting pool_cache_init()

this describes what the per cpu caches do, and has some bonus doco about
what the sysctls provide thanks to a suggestion from mikeb@

some tweaks are coming, but this is mostly right.

ok jmc@ schwarze@

7 years agoAs early as possible, create a link /bsd.booted to the /bsd kernel we
deraadt [Mon, 19 Jun 2017 22:50:50 +0000 (22:50 +0000)]
As early as possible, create a link /bsd.booted to the /bsd kernel we
presume we booted from.  If you boot from another kernel, we cannot help
you later with hibernate, sorry -- The kernel does not get a useable
filename from the bootblocks.

In the bootblocks, detect a live hibernate signature and boot from
/bsd.booted instead.

with yasuoka, lots of discussion with mlarkin, ok tom

7 years agoImport route priority support from ospfd to ospf6d.
friehm [Mon, 19 Jun 2017 19:55:57 +0000 (19:55 +0000)]
Import route priority support from ospfd to ospf6d.
Also remove the RTF_UP flag from hdr.rtm_flags in send_rtmsg() since
ospfd and bgpd don't set the flag.

OK bluhm@ claudio@

7 years agoVarious KNF nits.
krw [Mon, 19 Jun 2017 19:28:35 +0000 (19:28 +0000)]
Various KNF nits.

7 years agomissing letter in previous;
jmc [Mon, 19 Jun 2017 18:36:13 +0000 (18:36 +0000)]
missing letter in previous;

7 years agoTerminate pledge log(9) with newline. This fixes dmesg(8) output.
bluhm [Mon, 19 Jun 2017 18:35:05 +0000 (18:35 +0000)]
Terminate pledge log(9) with newline.  This fixes dmesg(8) output.
found by regress/sys/kern/pledge/generic; OK deraadt@

7 years agoWhen dealing with mbuf pointers passed down as function parameters,
bluhm [Mon, 19 Jun 2017 17:58:49 +0000 (17:58 +0000)]
When dealing with mbuf pointers passed down as function parameters,
bugs could easily result in use-after-free or double free.  Introduce
m_freemp() which automatically resets the pointer before freeing
it.  So we have less dangling pointers in the kernel.
OK krw@ mpi@ claudio@

7 years agodelete accidental blank line
deraadt [Mon, 19 Jun 2017 17:35:04 +0000 (17:35 +0000)]
delete accidental blank line

7 years agoThe IP multicast forward functions return an errno, call the variable
bluhm [Mon, 19 Jun 2017 17:00:16 +0000 (17:00 +0000)]
The IP multicast forward functions return an errno, call the variable
error.  Make the ip_mforward() return value consistent.  Simplify
the caller logic in ipv6_input() like in IPv4.
OK mpi@

7 years agoFix the timecounter register on CN72xx/CN73xx.
visa [Mon, 19 Jun 2017 14:47:27 +0000 (14:47 +0000)]
Fix the timecounter register on CN72xx/CN73xx.

7 years agoUse octeon_model_family() for SoC identification as in the rest
visa [Mon, 19 Jun 2017 14:25:53 +0000 (14:25 +0000)]
Use octeon_model_family() for SoC identification as in the rest
of the code.

7 years agoUse type register_t instead of __register_t. Drop unneeded __unused.
visa [Mon, 19 Jun 2017 13:54:55 +0000 (13:54 +0000)]
Use type register_t instead of __register_t. Drop unneeded __unused.

7 years agoThere is no RTC on the E1000 board.
visa [Mon, 19 Jun 2017 13:45:22 +0000 (13:45 +0000)]
There is no RTC on the E1000 board.

7 years agoUse a consistent naming for fdt attach arguments.
visa [Mon, 19 Jun 2017 13:31:04 +0000 (13:31 +0000)]
Use a consistent naming for fdt attach arguments.

7 years agosync
deraadt [Mon, 19 Jun 2017 13:00:54 +0000 (13:00 +0000)]
sync

7 years agoFix a regression in the previous revision:
schwarze [Mon, 19 Jun 2017 12:53:50 +0000 (12:53 +0000)]
Fix a regression in the previous revision:
When there is no link description, reuse the URI.
Reported by tj@ and bentley@.

7 years agoAdd a handler for the WSDISPLAYIO_GINFO ioctl in radeondrm, allowing
fcambus [Mon, 19 Jun 2017 11:03:30 +0000 (11:03 +0000)]
Add a handler for the WSDISPLAYIO_GINFO ioctl in radeondrm, allowing
to retrieve basic information about a framebuffer display.

OK visa@, deraadt@

7 years agoAdd a handler for the WSDISPLAYIO_GINFO ioctl in inteldrm, allowing
fcambus [Mon, 19 Jun 2017 11:00:18 +0000 (11:00 +0000)]
Add a handler for the WSDISPLAYIO_GINFO ioctl in inteldrm, allowing
to retrieve basic information about a framebuffer display.

OK visa@, tedu@

7 years agoMake rn_match() and rn_lookup() safe to be used in parrallel, when
mpi [Mon, 19 Jun 2017 09:42:45 +0000 (09:42 +0000)]
Make rn_match() and rn_lookup() safe to be used in parrallel, when
different trees are manipulated:

- Stop writting to global variables
- Use a buffer on the stack
- Anotate read/only arrays as such

While here introduce a SALEN() macro and assert that the KERNEL_LOCK()
is held when a tree is modified.

ok bluhm@

7 years agoDo not call txeof nor rxeof in the watchdog routine.
mpi [Mon, 19 Jun 2017 09:36:27 +0000 (09:36 +0000)]
Do not call txeof nor rxeof in the watchdog routine.

They cannot be serialized with the interrupt routine and are
useless because the driver is reinitialized right after.

Pointed by and ok mikeb@

7 years agofix descriptor leak in the smtp congestion mechanism
gilles [Mon, 19 Jun 2017 08:35:56 +0000 (08:35 +0000)]
fix descriptor leak in the smtp congestion mechanism

diff from Henri Kemppainen; ok gilles@ eric@

7 years agog/c ASPICFLAG.
mpi [Mon, 19 Jun 2017 08:35:24 +0000 (08:35 +0000)]
g/c ASPICFLAG.

This used to be necessary a long time ago in the... gcc 2.95 days.

from miod@

7 years agoMark up "am i" as Cm, not Ar.
bentley [Mon, 19 Jun 2017 06:05:33 +0000 (06:05 +0000)]
Mark up "am i" as Cm, not Ar.

While here, remove a leftover Tn macro.

ok jmc@

7 years agoNo need for a conditional to choose between nroff and troff.
bentley [Mon, 19 Jun 2017 06:04:16 +0000 (06:04 +0000)]
No need for a conditional to choose between nroff and troff.

ok jmc@

7 years agoport the RBT code to userland by making it part of libc.
dlg [Mon, 19 Jun 2017 03:06:26 +0000 (03:06 +0000)]
port the RBT code to userland by making it part of libc.

src/lib/libc/gen/tree.c is a copy of src/sys/kern/subr_tree.c, but with
annotations for symbol visibility. changes to one should be reflected
in the other.

the malloc debug code that uses RB code is ported to RBT.

because libc provides the RBT code, procmap doesn't have to reach into
the kernel and build subr_tree.c itself now.

mild enthusiasm from many
ok guenther@

7 years agoErroneous host names in various options should be ignored
krw [Mon, 19 Jun 2017 01:09:09 +0000 (01:09 +0000)]
Erroneous host names in various options should be ignored
and not cause the lease to be declined. Restore inadvertantly
changed behaviour. Tweak logic to also ignore invalid
host names in domain-search.

Reported by Christer Solskogen via misc@

7 years agoMove the timeout information into struct interface_info with
krw [Sun, 18 Jun 2017 21:08:15 +0000 (21:08 +0000)]
Move the timeout information into struct interface_info with
the rest of the dhcp state. One less struct (dhcp_timeout) to
worry about, one less field (ifi) to keep track of.

7 years agoDon't write input if ICANON is enabled. Also, write one byte at a time.
anton [Sun, 18 Jun 2017 17:49:44 +0000 (17:49 +0000)]
Don't write input if ICANON is enabled. Also, write one byte at a time.

7 years agoImplement appending to standard man(7) and mdoc(7) macros with .am.
schwarze [Sun, 18 Jun 2017 17:35:40 +0000 (17:35 +0000)]
Implement appending to standard man(7) and mdoc(7) macros with .am.

With roff_getstrn(), provide finer control which definitions
can be used for what:
* All definitions can be used for .if d tests and .am appending.
* User-defined for \* expansion, .dei expansion, and macro calling.
* Predefined for \* expansion.
* Standard macros, original or renamed, for macro calling.

Several related improvements while here:
* Do not return string table entries that have explicitly been removed.
* Do not create a rentab entry when trying to rename a non-existent macro.
* Clear an existing rentab entry when the external interface
roff_setstr() is called with its name.
* Avoid trailing blanks in macro lines generated from renamed
and from aliased macros.
* Delete the duplicate __m*_reserved[] tables, just use roff_name[].

7 years agoConvert last set_timeout() use to set_timeout_interval() and
krw [Sun, 18 Jun 2017 17:01:46 +0000 (17:01 +0000)]
Convert last set_timeout() use to set_timeout_interval() and
then remove set_timeout() and rename set_timeout_interval() to
set_timeout().

7 years agoDrop (int) casts of (time_t - time_t) calculations that
krw [Sun, 18 Jun 2017 16:37:19 +0000 (16:37 +0000)]
Drop (int) casts of (time_t - time_t) calculations that
are assigned to an int variable.

7 years agoNuke stray and misleading comment.
krw [Sun, 18 Jun 2017 14:54:19 +0000 (14:54 +0000)]
Nuke stray and misleading comment.

7 years agoSplit octeon interrupt code into a glue layer and a CIU driver.
visa [Sun, 18 Jun 2017 13:58:44 +0000 (13:58 +0000)]
Split octeon interrupt code into a glue layer and a CIU driver.
This makes possible to add drivers for other interrupt controllers
on the platform.

The glue layer has been derived from arm64/armv7.

7 years agopms/alps: configure compat mode
bru [Sun, 18 Jun 2017 13:34:03 +0000 (13:34 +0000)]
pms/alps: configure compat mode

7 years agoRemove remnants of old versions.
bru [Sun, 18 Jun 2017 13:21:48 +0000 (13:21 +0000)]
Remove remnants of old versions.

7 years agoMove IPI control entry points into octeon_intr.c.
visa [Sun, 18 Jun 2017 12:48:13 +0000 (12:48 +0000)]
Move IPI control entry points into octeon_intr.c.
Needed by upcoming driver changes.

7 years agoupdate log.c in ifstated to the same used in bgpd etc.
benno [Sun, 18 Jun 2017 12:03:47 +0000 (12:03 +0000)]
update log.c in ifstated to the same used in bgpd etc.
Done by Rob Pierce <rob AT 2keys DOT ca>, thanks

7 years agoMake 'DEBUG' compile again.
krw [Sun, 18 Jun 2017 11:26:14 +0000 (11:26 +0000)]
Make 'DEBUG' compile again.

7 years agoNuke unused pointer to non-existant struct.
krw [Sun, 18 Jun 2017 11:21:39 +0000 (11:21 +0000)]
Nuke unused pointer to non-existant struct.

7 years agoDrop unnecessary call to octeon_setintrmask(). The function gets called
visa [Sun, 18 Jun 2017 11:05:20 +0000 (11:05 +0000)]
Drop unnecessary call to octeon_setintrmask(). The function gets called
by the splx() handler.

7 years agostyle message about duplicate RCS ids; inspired by mdoclint
schwarze [Sat, 17 Jun 2017 23:06:43 +0000 (23:06 +0000)]
style message about duplicate RCS ids; inspired by mdoclint

7 years agochurn related to the new style message about RCS ids
schwarze [Sat, 17 Jun 2017 22:46:24 +0000 (22:46 +0000)]
churn related to the new style message about RCS ids

7 years agostyle message about missing RCS ids; inspired by mdoclint
schwarze [Sat, 17 Jun 2017 22:40:27 +0000 (22:40 +0000)]
style message about missing RCS ids; inspired by mdoclint

7 years agoShuffle dhcp[offer|ack|nak]() functions together for easy reference.
krw [Sat, 17 Jun 2017 20:23:17 +0000 (20:23 +0000)]
Shuffle dhcp[offer|ack|nak]() functions together for easy reference.

7 years agoSince WSFONT_NAME_SIZE was switched from 16 to 32, account for the
fcambus [Sat, 17 Jun 2017 19:27:54 +0000 (19:27 +0000)]
Since WSFONT_NAME_SIZE was switched from 16 to 32, account for the
change in wsfontload as well: tweak spacing and printf format string.

OK deraadt@, mpi@

7 years agoThe fonts we are looping through in vga_selectfont() are the builtin
fcambus [Sat, 17 Jun 2017 19:20:30 +0000 (19:20 +0000)]
The fonts we are looping through in vga_selectfont() are the builtin
font which is using the IBM encoding, and some potentially loaded fonts
which are either IBM or ISO encoded.

Therefore the condition checked by vga_valid_font() is always true, and
we can remove it. Thanks to miod@ for pointing this out.

OK tb@

7 years agodelete the -d option and the "use .Fn or .Xr for functions" check,
schwarze [Sat, 17 Jun 2017 19:17:41 +0000 (19:17 +0000)]
delete the -d option and the "use .Fn or .Xr for functions" check,
both covered by mandoc now; OK jmc@

7 years agoMove win variable.
anton [Sat, 17 Jun 2017 18:14:47 +0000 (18:14 +0000)]
Move win variable.

ok deraadt@ tb@

7 years agoRename struct interface_info field 'new' to clearer 'offer'.
krw [Sat, 17 Jun 2017 17:10:26 +0000 (17:10 +0000)]
Rename struct interface_info field 'new' to clearer 'offer'.

7 years agoWe accept either the first offer received, or an offer for the
krw [Sat, 17 Jun 2017 16:58:55 +0000 (16:58 +0000)]
We accept either the first offer received, or an offer for the
current address if one arrives inside select_timeout. So there
is no need to keep a list of received offers. Just keep the
best one and DECLINE the rest. Nuke now unused 'offered_leases'
TAILQ.

Also fixes the oddity that the *last* offer for the current
address is taken rather than the *first*.

7 years agoif .in is used inside the .TP head, it's always relative
schwarze [Sat, 17 Jun 2017 16:47:29 +0000 (16:47 +0000)]
if .in is used inside the .TP head, it's always relative

7 years agoDECLINE offers as they are deemed invalid. Decline them at the
krw [Sat, 17 Jun 2017 15:53:03 +0000 (15:53 +0000)]
DECLINE offers as they are deemed invalid. Decline them at the
first problem rather than continuing to look for other reasons
to decline them. Nuke is_invalid field since it is now unused.
More informative log message when a lease is determined to be
unacceptable.

7 years agotables leak tab settings to subsequent text
schwarze [Sat, 17 Jun 2017 14:55:02 +0000 (14:55 +0000)]
tables leak tab settings to subsequent text

7 years agocorrect handling of blank lines after \c
schwarze [Sat, 17 Jun 2017 13:05:47 +0000 (13:05 +0000)]
correct handling of blank lines after \c

7 years agoPass the command to execute as an argument. Allows the edit program to be
anton [Sat, 17 Jun 2017 09:55:01 +0000 (09:55 +0000)]
Pass the command to execute as an argument. Allows the edit program to be
reused.

7 years agoadd rdtsc() to match amd64
jmatthew [Sat, 17 Jun 2017 09:32:26 +0000 (09:32 +0000)]
add rdtsc() to match amd64
ok mikeb@ mlarkin@

7 years agoInvalidate remote TLB entries by address range. This reduces
visa [Sat, 17 Jun 2017 03:45:36 +0000 (03:45 +0000)]
Invalidate remote TLB entries by address range. This reduces
the number of IPIs required when removing mappings.

7 years agoDon't need to link with -ll or -ly.
bcallah [Sat, 17 Jun 2017 01:55:16 +0000 (01:55 +0000)]
Don't need to link with -ll or -ly.
ok millert@ (who spotted and provided the -ll removal bits)

7 years agoproperly set the default indentation
schwarze [Sat, 17 Jun 2017 01:26:48 +0000 (01:26 +0000)]
properly set the default indentation
such that even pages without any .SH macros get it

7 years agoFix comment. This gap is not only on LUNA-88K2 but also on LUNA-88K.
aoyama [Sat, 17 Jun 2017 00:28:18 +0000 (00:28 +0000)]
Fix comment.  This gap is not only on LUNA-88K2 but also on LUNA-88K.

7 years agoMultiple tbl(7) improvements:
schwarze [Fri, 16 Jun 2017 20:00:41 +0000 (20:00 +0000)]
Multiple tbl(7) improvements:
* Do not discard data that lacks a matching layout cell but remains
within the number of columns of the table as a whole.
* Do not insert dummy data rows for any layout row starting with a
horizontal line, but only for layout rows that would discard all
the data on a matching non-empty data row.
* Print horizontal lines specified in the layout even if there is
no matching data cell.
* Improve the logic for extending vertical lines to adjacent rows,
for choosing cross marks versus line segments, and some related details.

7 years agopfctl: merge identifical if conditions and void functions discarding ret values
awolk [Fri, 16 Jun 2017 19:59:13 +0000 (19:59 +0000)]
pfctl: merge identifical if conditions and void functions discarding ret values

Transform the following functions (which never return anything other than 0, and
whose return value is never used) to void:

* pfctl_clear_stats, pfctl_clear_interface_flags, pfctl_clear_rules,
  pfctl_clear_src_nodes, pfctl_clear_states
* pfctl_kill_src_nodes, pfctl_net_kill_states, pfctl_label_kill_states,
  pfctl_id_kill_states, pfctl_key_kill_states

inside main: merge two identical if conditions next to each other into one.

Submitted by rain1 (thanks!) with additional credit to:
 - mikeb@ for pointing out we can void all _clear_ functions
 - ghostyy for pointing out all _kill_ functions can be voided

OK tb@, mikeb@

7 years agoTweak some logging.
nicm [Fri, 16 Jun 2017 15:12:38 +0000 (15:12 +0000)]
Tweak some logging.

7 years ago- Fix incorrect values in the computation of transmit power for the
kevlo [Fri, 16 Jun 2017 14:57:51 +0000 (14:57 +0000)]
- Fix incorrect values in the computation of transmit power for the
  rtl8188eu chipset.
- Small code refactoring:
  - replace hardcoded rate indexes with their name, like athn(4).
  - replace fields offsets with the structure; from FreeBSD r294198.
  - be compliant with definitions of the efuse in vendor hal_pg.h and
    rename struct r92c_rom member names: s/channel_plan/reserved5/,
    s/xtal_calib/channel_plan.
  - no need to disable HWPDN twice in urtwn_r88e_power_on().

Tested by stsp@ and myself with RTL8188CUS, RTL8192CU, RTL8188EU, and
RTL8188CE devices.

ok stsp@

7 years agoNuke 'is_bootp' field and just use a #define to check if the lease
krw [Fri, 16 Jun 2017 14:12:12 +0000 (14:12 +0000)]
Nuke 'is_bootp' field and just use a #define to check if the lease
has DHO_DHCP_MESSAGE_TYPE info.

7 years agoLog terminal capabilities for each new terminal.
nicm [Fri, 16 Jun 2017 11:50:06 +0000 (11:50 +0000)]
Log terminal capabilities for each new terminal.

7 years agoIn sppp(4), allow additional 'wildcard' addresses for the destination.
stsp [Fri, 16 Jun 2017 10:58:43 +0000 (10:58 +0000)]
In sppp(4), allow additional 'wildcard' addresses for the destination.
Any address within the range 0.0.0.1 - 0.0.0.255 can now be used.
This allows for multiple pppoe(4) interfaces with dynamic addresses within
the same routing table. Which used to work before OpenBSD 5.8, but since 5.8
only one interface in a routing table can use destination address 0.0.0.1.

Problem first reported by Steve (fiverings04 at australian yahoo) on misc@.
I ran into it on an EdgeRouter lite which is supposed to serve two ADSL lines.
ok sthen@ mpi@
man page help from jmc@ for an earlier variant of this change

7 years agomark files as BUILDFIRST, or write explicit dependencies, so that most
espie [Fri, 16 Jun 2017 10:25:54 +0000 (10:25 +0000)]
mark files as BUILDFIRST, or write explicit dependencies, so that most
programs will build even without a make depend first.
okay tb@ millert@

7 years agointroduce a BUILDFIRST/BUILDAFTER mechanism:
espie [Fri, 16 Jun 2017 10:20:52 +0000 (10:20 +0000)]
introduce a BUILDFIRST/BUILDAFTER mechanism:
record every standard component built in bsd.lib.mk/bsd.prog.mk in BUILDAFTER
and have BUILDAFTER depend on BUILDFIRST, thus making possible to build
some stuff early without relying on "make depend"

okay tb@ millert@

7 years agoIn iwm_init() save the generation counter once before looping over
stsp [Fri, 16 Jun 2017 08:45:34 +0000 (08:45 +0000)]
In iwm_init() save the generation counter once before looping over
tsleep(9), instead of saving it during every iteration.

7 years agos/CPU_LIDSUSPEND/CPU_LIDACTION/
natano [Fri, 16 Jun 2017 06:46:54 +0000 (06:46 +0000)]
s/CPU_LIDSUSPEND/CPU_LIDACTION/
ok mlarkin

7 years agoPCI Express extendeded capability 0x1c is LN Requester according to the
jsg [Fri, 16 Jun 2017 05:19:15 +0000 (05:19 +0000)]
PCI Express extendeded capability 0x1c is LN Requester according to the
PCI-SIG Lightweight Notification (LN) Protocol ECN document.

From Masanobu SAITOH.

7 years agoadd garbage collection of unused lists percpu cached items.
dlg [Fri, 16 Jun 2017 01:55:45 +0000 (01:55 +0000)]
add garbage collection of unused lists percpu cached items.

the cpu caches in pools amortise the cost of accessing global
structures by moving lists of items around instead of individual
items. excess lists of items are stored in the global pool struct,
but these idle lists never get returned back to the system for use
elsewhere.

this adds a timestamp to the global idle list, which is updated
when the idle list stops being empty. if the idle list hasn't been
empty for a while, it means the per cpu caches arent using the idle
entries and they can be recovered. timestamping the pages prevents
recovery of a lot of items that may be used again shortly. eg, rx
ring processing and replenishing from rate limited interrupts tends
to allocate and free items in large chunks, which the timestamping
smooths out.

gc'ed lists are returned to the pool pages, which in turn get gc'ed
back to uvm.

ok visa@

7 years agosplit returning an item to the pool pages out of pool_put as pool_do_put.
dlg [Fri, 16 Jun 2017 01:33:20 +0000 (01:33 +0000)]
split returning an item to the pool pages out of pool_put as pool_do_put.

this lets pool_cache_list_put return items to the pages. currently,
if pool_cache_list_put is called while the per cpu caches are
enabled, the items on the list will put put straight back onto
another list in the cpu cache. this also avoids counting puts for
these items twice. a put for the items have already been coutned
when the items went to a cpu cache, it doesnt need to be counted
again when it goes back to the pool pages.

another side effect of this is that pool_cache_list_put can take
the pool mutex once when returning all the items in the list with
pool_do_put, rather than once per item.

ok visa@

7 years agoDon't defer attaching PV devices
mikeb [Thu, 15 Jun 2017 20:12:12 +0000 (20:12 +0000)]
Don't defer attaching PV devices

Now that both hvn(4) and hvs(4) can perform VMBus channel operations
during autoconf, it's no longer necessary to defer their attachment.

7 years agoRemove the Installation section and fix a nonexistent path.
akfaew [Thu, 15 Jun 2017 20:10:25 +0000 (20:10 +0000)]
Remove the Installation section and fix a nonexistent path.

OK tb@ (fix paths diff) deraadt@

7 years agoMake sure we can free GPA handles when cold
mikeb [Thu, 15 Jun 2017 20:08:56 +0000 (20:08 +0000)]
Make sure we can free GPA handles when cold

7 years agoSupport executing NVSP and RNDIS commands during autoconf
mikeb [Thu, 15 Jun 2017 20:06:13 +0000 (20:06 +0000)]
Support executing NVSP and RNDIS commands during autoconf

7 years agoFiner grained pledge for at(1). After setegid(), do a three-way pledge:
tb [Thu, 15 Jun 2017 19:37:10 +0000 (19:37 +0000)]
Finer grained pledge for at(1).  After setegid(), do a three-way pledge:
For AT and BATCH: "stdio rpath wpath cpath fattr getpw unix"
For ATRM: "stdio rpath cpath getpw unix"
For ATQ and CAT: "stdio rpath getpw"
"unix" is needed for poke_daemon() and "fattr" to chmod +x spoolfile.

idea and ok millert

7 years agoProvide storage for the response message in each CCB
mikeb [Thu, 15 Jun 2017 18:21:08 +0000 (18:21 +0000)]
Provide storage for the response message in each CCB

7 years agoRemove the structure definition for an old (pre Win8) I/O request type
mikeb [Thu, 15 Jun 2017 18:05:52 +0000 (18:05 +0000)]
Remove the structure definition for an old (pre Win8) I/O request type
since the new one is backwards compatible and the correct length of the
request can be specified w/o an actual definition.

7 years agoPut back copying of the response message into the polling callback
mikeb [Thu, 15 Jun 2017 18:00:26 +0000 (18:00 +0000)]
Put back copying of the response message into the polling callback

The response message is allocated on the stack of hvs_intr and its
content is valid during a single message processing loop iteration.
Due to the fact that polled transfers finish completion in a callee
context, the cached pointer to the response message becomes stale
very quickly.  To avoid this situation the poll completion callback
needs to make sure the content of the response is provided to the
next completion routine.

7 years agoNuke unused parameter 'client_addr' from the 'handlers', i.e.
krw [Thu, 15 Jun 2017 17:06:17 +0000 (17:06 +0000)]
Nuke unused parameter 'client_addr' from the 'handlers', i.e.
dhcpoffer(), dhcpack(), dhcpnak().

7 years agoNuke unused parameter 'client_addr' from packet_to_lease().
krw [Thu, 15 Jun 2017 16:56:11 +0000 (16:56 +0000)]
Nuke unused parameter 'client_addr' from packet_to_lease().

7 years agoAssorted tweaks for x11/qt* modules description.
zhuk [Thu, 15 Jun 2017 16:07:54 +0000 (16:07 +0000)]
Assorted tweaks for x11/qt* modules description.

7 years agoIt's never too late to document x11/kde module. At least a (non-obvious) bit.
zhuk [Thu, 15 Jun 2017 16:06:02 +0000 (16:06 +0000)]
It's never too late to document x11/kde module. At least a (non-obvious) bit.

7 years agoDocument MODQMAKE_RECURSIVE and test framework support for devel/qmake.
zhuk [Thu, 15 Jun 2017 16:03:52 +0000 (16:03 +0000)]
Document MODQMAKE_RECURSIVE and test framework support for devel/qmake.