daily CVS update output

2019-07-05 Thread NetBSD source update


Updating src tree:
P src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c
P src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
P src/external/gpl2/xcvs/dist/doc/cvs.1
P src/external/gpl2/xcvs/dist/doc/cvs.texinfo
P src/share/misc/acronyms.comp
P src/share/mk/bsd.kmodule.mk
P src/sys/arch/amd64/amd64/cpufunc.S
P src/sys/arch/arm/sunxi/sunxi_lcdc.c
P src/sys/arch/i386/i386/cpufunc.S
P src/sys/arch/x86/include/cpufunc.h
P src/sys/arch/x86/x86/fpu.c
P src/sys/dev/pci/pcidevs
P src/sys/dev/pci/pcidevs.h
P src/sys/dev/pci/pcidevs_data.h
P src/sys/dev/pckbport/synaptics.c
P src/sys/kern/kern_exec.c
P src/usr.sbin/perfused/perfused.8

Updating xsrc tree:


Killing core files:


Updating tar files:
src/top-level: collecting... replacing... done
src/bin: collecting... replacing... done
src/common: collecting... replacing... done
src/compat: collecting... replacing... done
src/crypto: collecting... replacing... done
src/dist: collecting... replacing... done
src/distrib: collecting... replacing... done
src/doc: collecting... replacing... done
src/etc: collecting... replacing... done
src/external: collecting... replacing... done
src/extsrc: collecting... replacing... done
src/games: collecting... replacing... done
src/gnu: collecting...pax: Unable to access src/gnu (No such file or directory)
pax: WARNING! These file names were not selected:
src/gnu
 done
src/include: collecting... replacing... done
src/lib: collecting... replacing... done
src/libexec: collecting... replacing... done
src/regress: collecting... replacing... done
src/rescue: collecting... replacing... done
src/sbin: collecting... replacing... done
src/share: collecting... replacing... done
src/sys: collecting... replacing... done
src/tests: collecting... replacing... done
src/tools: collecting... replacing... done
src/usr.bin: collecting... replacing... done
src/usr.sbin: collecting... replacing... done
src/config: collecting... replacing... done
src: collecting... replacing... done
xsrc/top-level: collecting... replacing... done
xsrc/external: collecting... replacing... done
xsrc/local: collecting... replacing... done
xsrc: collecting... replacing... done



Updating release-7 src tree (netbsd-7):

Updating release-7 xsrc tree (netbsd-7):


Updating release-7 tar files:
src/top-level: collecting... replacing... done
src/bin: collecting... replacing... done
src/common: collecting... replacing... done
src/compat: collecting... replacing... done
src/crypto: collecting... replacing... done
src/dist: collecting... replacing... done
src/distrib: collecting... replacing... done
src/doc: collecting... replacing... done
src/etc: collecting... replacing... done
src/external: collecting... replacing... done
src/extsrc: collecting... replacing... done
src/games: collecting... replacing... done
src/gnu: collecting... replacing... done
src/include: collecting... replacing... done
src/lib: collecting... replacing... done
src/libexec: collecting... replacing... done
src/regress: collecting... replacing... done
src/rescue: collecting... replacing... done
src/sbin: collecting... replacing... done
src/share: collecting... replacing... done
src/sys: collecting... replacing... done
src/tests: collecting... replacing... done
src/tools: collecting... replacing... done
src/usr.bin: collecting... replacing... done
src/usr.sbin: collecting... replacing... done
src/config: collecting... replacing... done
src/x11: collecting... replacing... done
src: collecting... replacing... done
xsrc/top-level: collecting... replacing... done
xsrc/external: collecting... replacing... done
xsrc/local: collecting... replacing... done
xsrc/xfree: collecting... replacing... done
xsrc: collecting... replacing... done



Updating release-8 src tree (netbsd-8):

Updating release-8 xsrc tree (netbsd-8):


Updating release-8 tar files:
src/top-level: collecting... replacing... done
src/bin: collecting... replacing... done
src/common: collecting... replacing... done
src/compat: collecting... replacing... done
src/crypto: collecting... replacing... done
src/dist: collecting... replacing... done
src/distrib: collecting... replacing... done
src/doc: collecting... replacing... done
src/etc: collecting... replacing... done
src/external: collecting... replacing... done
src/extsrc: collecting... replacing... done
src/games: collecting... replacing... done
src/gnu: collecting...pax: Unable to access src/gnu (No such file or directory)
pax: WARNING! These file names were not selected:
src/gnu
 done
src/include: collecting... replacing... done
src/lib: collecting... replacing... done
src/libexec: collecting... replacing... done
src/regress: collecting... replacing... done
src/rescue: collecting... replacing... done
src/sbin: collecting... replacing... done
src/share: collecting... replacing... done
src/sys: collecting... replacing... done
src/tests: collecting... replacing... done
src/tools: collecting... replacing... done
src/usr.bin: collecting... replacing... done
src/usr.sbin: collecting... 

Re: what's pio.h?

2019-07-05 Thread Izumi Tsutsui
> So I see that we install machine/pio.h which defines functions like
> these (amd64):
> 
> inb, insb, inw, insw, inl, insl; outb, outsb, ...

For i386, they are still inline functions.
I guess we can still enable them by i386_iopl(2) for
ancient programs using direct I/O in 386BSD days.
(note options(4) says we also had /dev/io in 1.1 and prior.)

For amd64 (and powerpc), they seem used only for kernel
(like ) and provided by amd64/cpufunc.S etc.
Maybe they are not expected to work for userland binaries.
(though x86_64 still has x86_64_iopl(2) in libarch)

---
Izumi Tsutsui


Re: what's pio.h?

2019-07-05 Thread maya
On Sat, Jul 06, 2019 at 12:54:53AM +0200, Thomas Klausner wrote:
> Hi!
> 
> So I see that we install machine/pio.h which defines functions like
> these (amd64):
> 
> inb, insb, inw, insw, inl, insl; outb, outsb, ...
> 
> But I can't seem to find any documentation or implementation for this.
> 
> Is this in libc or does one need to link a library for these?
> What are they good for?
> 
> Thanks,
>  Thomas

Those are x86 assembly instruction names. For other architectures the
implementation exists as static inline.

It looks like they are implemented in the kernel but not outside.
It also appears that other architectures have implementations (e.g.
powerpc).

I know that at least linux-side, x86-sounding interfaces have turned
machine independent. that seems to be the case here.

A bunch of drivers seem to reference it, all looking very crusty.


what's pio.h?

2019-07-05 Thread Thomas Klausner
Hi!

So I see that we install machine/pio.h which defines functions like
these (amd64):

inb, insb, inw, insw, inl, insl; outb, outsb, ...

But I can't seem to find any documentation or implementation for this.

Is this in libc or does one need to link a library for these?
What are they good for?

Thanks,
 Thomas


Re: recurring tstile hangs on -current

2019-07-05 Thread maya
On Fri, Jul 05, 2019 at 10:29:24PM +0200, Thomas Klausner wrote:
> >From some debugging so far, the cause for the hang seems to be that
> the nvme driver is waiting for an interrupt that doesn't come.
> 
> At least once I got it to get unstuck by call "nvme_intr()" on the
> softc address from ddb.
>  Thomas

Obvious fix.

Index: wizd.8
===
RCS file: /cvsroot/src/share/man/man8/wizd.8,v
retrieving revision 1.11
diff -u -r1.11 wizd.8
--- wizd.8  12 Jun 2019 09:03:32 -  1.11
+++ wizd.8  5 Jul 2019 21:10:27 -
@@ -48,6 +48,9 @@
 also performs periodic sanity checks on the distribution set lists.
 E-mail alerts will be triggered if the build installs files that are marked
 as obsolete and therefore get automatically removed.
+.Pp
+.Nm
+provides interrupts when the kernel drops them.
 .Sh SIGNALS
 .Nm
 responds to the following signals:



Re: recurring tstile hangs on -current

2019-07-05 Thread Thomas Klausner
On Mon, Jul 01, 2019 at 07:02:06AM -, Michael van Elst wrote:
> t...@giga.or.at (Thomas Klausner) writes:
> 
> >So it looks like it could be a very extreme slowness instead of a
> >complete deadlock.
> 
> When it stops, try to reduce kern.maxvnodes to something low (like 100),
> you can restore it, if the machine wakes up.
> 
> If this is a memory shortage instead of a deadlock, this will easily
> free kernel memory. You may need to wait 1-2 minutes to let the
> page daemon collect free pages.
> 
> If you cannot issue a sysctl command, you can patch the kernel variable
> "desiredvnodes" with DDB instead.

>From some debugging so far, the cause for the hang seems to be that
the nvme driver is waiting for an interrupt that doesn't come.

At least once I got it to get unstuck by call "nvme_intr()" on the
softc address from ddb.
 Thomas