Commit Graph

247119 Commits

Author SHA1 Message Date
ozaki-r
602dc20a5b Enable DEBUG to see what happened on babylon5 2016-12-21 09:46:39 +00:00
abhinav
cad7fa138e Fix sentences at a couple of places. 2016-12-21 09:33:08 +00:00
abhinav
fa0751d0dd Add missing full stop. 2016-12-21 09:06:24 +00:00
ozaki-r
6261537b3d Fix deadlock between llentry timers and destruction of llentry
llentry timer (of nd6) holds both llentry's lock and softnet_lock.
A caller also holds them and calls callout_halt to wait for the
timer to quit. However we can pass only one lock to callout_halt,
so passing either of them can cause a deadlock. Fix it by avoid
calling callout_halt without holding llentry's lock.

BTW in the first place we cannot pass llentry's lock to callout_halt
because it's a rwlock...
2016-12-21 08:47:02 +00:00
ozaki-r
60ce16b544 Restore multiple_routers_single_prefix_cleanup removed wrongly 2016-12-21 07:02:16 +00:00
ozaki-r
3f765c212e Hold the big locks only where they are needed 2016-12-21 04:08:47 +00:00
ozaki-r
8be8a178cb Don't call psref_target_destroy unless NET_MPSAFE
We don't need it if NET_MPSAFE off and also it causes lockup
sometimes because of calling it with holding softnet_lock.
2016-12-21 04:01:57 +00:00
christos
45fd52509c wildcard obj dirs 2016-12-21 03:13:00 +00:00
christos
50b4b37dbe Don't remap mkdep, otherwise we add dependencies for /usr/include instead
of ${DESTDIR}/usr/include and things go south.
2016-12-21 03:00:51 +00:00
ozaki-r
ad4db0eb05 Add ifconfig -w to improve test stability 2016-12-21 02:46:08 +00:00
ozaki-r
eb6148c691 Suppress harmless warning message
rump.netstat: sysctlnametomib: net.inet6.udp6.pcblist: No such file or directory
2016-12-21 01:16:18 +00:00
mlelstv
b17cec7cbc cdrestart takes a softc parameter, not a periph. 2016-12-21 00:56:30 +00:00
ozaki-r
eceb88a68b Fix kernel build with RT_DEBUG and !NET_MPSAFE 2016-12-21 00:33:49 +00:00
maxv
781db2a87f kernel modules on xen 2016-12-20 14:09:09 +00:00
maxv
2827e84396 When the i386 port was designed, the bootstrap code needed little physical
memory, and taking it below the kernel image was fine: we had 160 free
pages, and never allocated more than 20. With amd64 however, we create a
direct map, and for this map we need a number of page table pages that is
mostly proportionate to the number of physical addresses available, which
implies that these 160 free pages may not be enough.

In particular, if the CPU does not support 1GB superpages, each 1GB chunk
of physical memory needs a 4k page in the direct map, which means that if
a machine has 160GB of ram, the bootstrap code allocates more than 160
pages, thereby overwriting the I/O mem area. If we push a little further,
if a machine has 512GB of ram, we allocate ~525 pages, and start
overwriting the kernel text, causing the system to go crazy at boot time.

Fix this moving the physical allocation area from below the kernel to above
it. avail_start is now beyond the kernel, and lowmem_rsvd indicates the
reserved low-memory pages. The area [lowmem_rsvd; IOM_BEGIN[ is
internalized into UVM, so there is no pa loss.

The only limit now is the pa of LAPIC, which is located at ~4GB of memory,
so it is perfectly fine.

This change theoretically adds va support for 512GB of ram; and it is a
prerequisite if we want to support more memory anyway.
2016-12-20 14:03:15 +00:00
maxv
ba62531c60 Depend on KERNTEXTOFF - KERNBASE, not IOM_END, both are equal but the text
address may change in the future.
2016-12-20 12:48:30 +00:00
ozaki-r
b9cb282dd4 Reduce unnecessary wait 2016-12-20 10:12:24 +00:00
hannken
0d2ece78cb Restructure vdrain_vrele(). While it is not possible for another thread
to lock this vnodes v_interlock -> vdrain_lock another vnode sharing the
v_interlock may lock this order.
While here, restore fstrans_start_nowait arg to FSTRANS_LAZY.

Fixes a deadlock seen recently on some pbulk environments.
2016-12-20 10:02:21 +00:00
abhinav
ca3357623e s/users/user's
Also, add an xref to services(5)
2016-12-20 09:22:18 +00:00
abhinav
1ccf3ec022 Update SYNOPSIS to reflect that y and n options are mutually exclusive.
Also, mention what does biff(1) do if no arguments are given.
Add xref to from(1)

ok wiz@
2016-12-20 08:21:32 +00:00
maya
0e07096e88 define __TEST_FENV in the makefile for t_fe_round
should fix vax build (it doesn't have fenv.h)
2016-12-20 06:13:19 +00:00
maya
893cb91179 use labs for absolute value of long
should fix arm build
2016-12-20 06:07:38 +00:00
ozaki-r
e3db1a05a1 Fix that routed deletes local routes
routed previousely ignored local routes, which have RTF_LOCAL flag, because
such routes have RTF_LLINFO and routed ignored routes having the flag. When
we obsoleted RTF_LLINFO, we removed the ignoring logic from routed, then
routed started removing local routes unexpectedly.

Fix this behavior by teaching local routes to routed to ignore them.

kardel@ reported the issue and helped testing, thanks!
2016-12-20 03:35:12 +00:00
rin
3cc4108dd3 improve logic related to sh_prompt:
- sscr_insert(): sh_prompt should be compared with t, not p
- replace strnstr(3) with memcmp(3)
now, nvi is free from strnstr(3); it can be safely pulled-up into netbsd-7
2016-12-19 17:51:40 +00:00
maya
5f32e54f24 adjust set lists for t_fe_round 2016-12-19 17:38:38 +00:00
maya
377c57d54f add test for fesetround/fegetround that uses lrint (and tests it a bunch).
It doesn't fail on amd64.
2016-12-19 17:38:24 +00:00
christos
5f89f912be fix the usage message 2016-12-19 17:31:47 +00:00
christos
7d45325d02 give it a bit more room. 2016-12-19 16:23:10 +00:00
christos
00e33719b3 grow so that new intel firmware fits. 2016-12-19 15:50:13 +00:00
ryoon
cfaa2ed36b Add UE-200TX-G 2016-12-19 15:09:38 +00:00
ryoon
9f9505b77a Add LAN-TXU2C and LAN-TXU2H3A 2016-12-19 15:08:03 +00:00
ryoon
93882b3f92 Add Anker A7611 and DIEWU USB-DW8152, and bump date 2016-12-19 15:03:59 +00:00
ryoon
4a775abe09 Add LUA3-U2-ATX and bump date 2016-12-19 14:55:32 +00:00
christos
116a2064fe PR/50228: Christian Groessler: fix bzero(ptr, 0) on ppc. Check for 0 length
before jumping to cb_memset like memset does.
2016-12-19 14:30:23 +00:00
abhinav
01c3d3dc7f Escape hyphen when parsing .Nd 2016-12-19 14:10:57 +00:00
wiz
0b615192ef Various improvements.
New sentence, new line.
Better punctuation.
More appropriate macros.
More markup.
2016-12-19 13:45:57 +00:00
cherry
28fcb4a4b5 panic() must be able to take varargs - in userspace testing too. 2016-12-19 13:02:14 +00:00
cherry
07acf3c096 This is a preview of the uvm_hotplug(9) api code.
This commit does not actually introduce the UVM_HOTPLUG option.
However it does provide developers a way to review, test and try out
the API.

To do this, please go to tests/sys/uvm/ and build and run the tests
there. The tests also have a set of basic load tests, to get a measure
of the performance penalties due to enabling the UVM_HOTPLUG option.

In order to build the tests you need to have at least done the
following in $SRC/

cd $SRC; $NBMAKE do-distrib-dirs includes
cd $SRC/lib/csu; $NBMAKE all install || exit
cd $SRC/external/gpl3/gcc/lib/libgcc/libgcc_s; $NBMAKE all install || exit
cd $SRC/external/gpl3/gcc/lib/libgcc/libgcc; $NBMAKE all install || exit
cd $SRC/lib/libc; $NBMAKE includes all install || exit
cd $SRC/lib/libpthread; $NBMAKE all install || exit
cd $SRC/lib/libm; $NBMAKE all install || exit
cd $SRC/external/gpl3/gcc/lib/libstdc++-v3/; $NBMAKE all install || exit

Once the development environment has these userspace libraries, one
can simple build using $NBMAKE and finally test the kernel API using

atf-run|atf-report
2016-12-19 12:21:29 +00:00
roy
996a7c47cf Fix gcc complaining about int to unsigned long conversion issues by
explictly marking as unsigned in RT_ROUNDUP2.
2016-12-19 11:17:00 +00:00
ozaki-r
3adf4b3b3e Protect IPv6 default router and prefix lists with coarse-grained rwlock
in6_purgeaddr (in6_unlink_ifa) itself unrefernces a prefix entry and calls
nd6_prelist_remove if the counter becomes 0, so callers doesn't need to
handle the reference counting.

Performance-sensitive paths (sending/forwarding packets) call just one
reader lock. This is a trade-off between performance impact vs. the amount
of efforts; if we want to remove the reader lock, we need huge amount of
works including destroying objects with psz/psref in softint, for example.
2016-12-19 07:51:34 +00:00
abhinav
af4d0016d3 Use markup for errno
Also remove a .Pp before .Bl while there
2016-12-19 07:48:35 +00:00
abhinav
fc41d23c04 Be consistent in using process' (vs process's). 2016-12-19 07:17:45 +00:00
abhinav
490a78e58c Fix sentence. 2016-12-19 06:45:29 +00:00
christos
992b578414 remove obsolete comment, flip polarity. 2016-12-19 04:54:49 +00:00
ozaki-r
834995ee17 Kill pr->ndpr_refcnt = 0
The reference counter represents the numuber of references from IPv6
addresses to a prefix entry. If all IPv6 addresses assigned to an
interface are purged, all references to a prefix for the interface are
also released. For now nd6_purge is always called after purging all IPv6
addresses, so we can get rid of clearing pr->ndpr_refcnt from nd6_purge
and instead we can assert it's 0 there.

Note that nd6_ifdetach is only called via dom_ifdetach when processing
if_detach where dom_ifdetach is called after pr_purgeif that eventually
calls in6_ifdetach. So in the call path nd6_purge in nd6_ifdetach does
nothing. That said, we should explicitly make it sure to purge all
IPv6 addresses before nd6_purge for future changes (or the case I missed
something). So if_purgeaddrs is added to nd6_ifdetach.
2016-12-19 04:52:17 +00:00
christos
66ae322aee fix reversed logic 2016-12-19 04:44:35 +00:00
christos
2cfd74dfe4 add -t to preserve timestamps. 2016-12-19 04:37:13 +00:00
ozaki-r
1ce4a727f8 Get rid of extra nd6_purge from in6_ifdetach
There were two nd6_purge in in6_ifdetach for some reason, but at least now
We don't need extra nd6_purge. Remove it and instead add assertions that
check if surely purged.
2016-12-19 03:32:54 +00:00
kamil
16960c1506 TODO.ptrace: Update notes about MD documentation
Currently all the MD interfaces are documented, remove this line from TODO.
Add new note:
    once the API for hardware watchpoints will stabilize, document it

Sponsored by <The NetBSD Foundation>
2016-12-19 03:19:37 +00:00
christos
ac78ac450b Always pass the modification time of the file to the client and let it decide
if it is going to use it to set the time. This makes update work like checkout
with respect to time setting. The time of the updated file is set to the
repository modification time of the file as opposed to the the time that the
file was checked out.
2016-12-19 03:15:31 +00:00