188888 Commits

Author SHA1 Message Date
attilio
02cf10e6db Add a further safety belt to prevent inconsistencies.
Sponsored by:	EMC / Isilon storage division
Submitted by:	alc
2013-03-13 01:00:34 +00:00
attilio
ba43ac477b For uniformity, use the user provided index.
Sponsored by:	EMC / Isilon storage division
Reviewed and reported by:	alc
2013-03-13 00:41:37 +00:00
attilio
3c52979cb4 MFC 2013-03-12 13:26:12 +00:00
attilio
f8c9f3ed3f MFC 2013-03-12 12:02:06 +00:00
alc
07fc599921 When transferring the page from one object to another, don't insert the
page into its new object until the page's pindex has been updated.
Otherwise, one code path within vm_radix_insert() may use the wrong
pindex value.

Sponsored by:	EMC / Isilon Storage Division
2013-03-12 06:14:31 +00:00
alc
65dfab2053 MFamd64
When a superpage promotion occurs, the page table page that the superpage
  mapping replaces is added to an ordered collection of page table pages.
  Rather than preserving the code that implements the splay tree of pages
  in the pmap for just this one purpose, use the new MI radix tree.  The
  extra overhead of using a radix tree for this purpose is small enough,
  about 4% added run-time to pmap_promote_pde(), that I don't see the point
  of preserving the splay tree code.

Sponsored by:	EMC / Isilon Storage Division
2013-03-12 03:48:05 +00:00
alc
7c12a136b6 When a superpage promotion occurs, the page table page that the superpage
mapping replaces is added to an ordered collection of page table pages.
Rather than preserving the code that implements the splay tree of pages
in the pmap for just this one purpose, use the new MI radix tree.  The
extra overhead of using a radix tree for this purpose is small enough,
about 4% added run-time to pmap_promote_pde(), that I don't see the point
of preserving the splay tree code.
2013-03-12 02:12:47 +00:00
attilio
32a3275e77 MFC 2013-03-11 10:49:02 +00:00
adrian
4b8721f1cb Add a few new fields to the RX vendor radiotap header:
* a flags field that lets me know what's going on;
* the hardware ratecode, unmolested by conversion to a bitrate;
* the HAL rs_flags field, useful for debugging;
* specifically mark aggregate sub-frames.

This stuff sorely needs tidying up - it's missing some important
stuff (eg numdelims) and it would be nice to put the flags at the
beginning rather than at the end.

Tested:

* AR9380, STA mode, 2x2 HT40, monitoring RSSI and EVM values
2013-03-11 06:54:58 +00:00
adrian
5331e34f3d Bump the EVM array size up to fit the AR9380 EVM entries. 2013-03-11 06:01:00 +00:00
adrian
31e4d71618 Add three-stream EVM values. 2013-03-11 04:19:10 +00:00
andre
c7a8a1916c Bring back the comment on the sizing of the callout array that got
lost in r248031.

Requested by:	alc, alfred
2013-03-10 22:55:35 +00:00
alc
762178138a The kernel pmap is statically allocated, so there is really no need to
explicitly initialize its pm_root field to zero.

Sponsored by:	EMC / Isilon Storage Division
2013-03-10 21:07:44 +00:00
antoine
06d38aaf35 Correct a date, add an obsolete directory. 2013-03-10 19:14:09 +00:00
antoine
8fb4b20c95 Add 2 more obsolete files. 2013-03-10 18:28:01 +00:00
antoine
4734f9a3bd Add more obsolete files. 2013-03-10 17:49:59 +00:00
antoine
0449dd83b1 Finish portalfs removal. 2013-03-10 17:33:41 +00:00
alc
2c9c761886 Introduce vm_radix_is_empty(), and use it in place of
vm_object_cache_is_empty() where the caller is aware of the page cache's
implementation as a radix trie.

Sponsored by:	EMC / Isilon Storage Division
2013-03-10 17:30:57 +00:00
antoine
606ff9a6e8 Fix a typo in DPADD. 2013-03-10 17:10:16 +00:00
adrian
1e821c7783 Add another register definition bit - whether to populate EVM or PLCP
data in the RX status descriptor.

Obtained from:	Qualcomm Atheros
2013-03-10 09:43:01 +00:00
andrew
f7c2b781b9 Add __aeabi_memcpy to libkern as clang may generate calls to it. 2013-03-10 07:55:40 +00:00
adrian
e4cecd0fe3 Kill this, it's not needed at this point and (hopefully) the parent
has correctly locked the ic/vap.
2013-03-10 04:38:06 +00:00
andrew
b1fd5c3055 - Clang doesn't understand the -mno-thumb-interwork. Only use it with gcc.
- We need to add "-mllvm -arm-enable-ehabi" to clangs CFLAGS when
  generating the unwind tables to tell it to add the required directives to
  the assembly it generates.
2013-03-10 03:52:35 +00:00
andrew
df298b8642 Fix a typo where db_printf was spelt printf. 2013-03-10 02:44:06 +00:00
andrew
8ddf10d5e6 Update how we read the stack pointer to work on both GCC and clang. 2013-03-10 02:40:50 +00:00
andrew
ca62d86bb1 Tell the unwinder we can't unwind swi_entry. This fixes an infinite loop
when the kernel attempts to unwind through this function.

The .fnstart and .fnend in this function should be moved to macros but we
are currently missing an END macro on ARM.
2013-03-10 02:38:35 +00:00
andrew
9ee11b8da5 Correctly align the unwind tables. Without this clang may incorrectly align
them causing an alignment fault when producing a backtrace.
2013-03-10 00:47:19 +00:00
ian
84fe418fcb Attach the elf section headers to the loaded kernel as metadata, so
they can easily be used by later post-processing.  When searching for
a compiled-in fdt blob, use the section headers to get the size and
location of the .dynsym section to do a symbol search.

This fixes a problem where the search could overshoot the symbol
table and wander into the string table.  Sometimes that was harmless
and sometimes it lead to spurious panic messages about an offset
bigger than the module size.
2013-03-10 00:43:01 +00:00
andrew
5e403de75e __FreeBSD_ARCH_armv6__ is undefined on clang. We can use __ARM_ARCH in
it's place. This makes 'uname -p' correctly output 'armv6' on a kernel
built with clang.
2013-03-09 23:55:23 +00:00
ian
7323532fa2 Since ubldr doesn't necessarily load a kernel at the physical address in the
elf headers, mask out the high nibble of that address.  This effectly makes
the entry point the offset from the load address, and it gets adjusted for
the actual load address before jumping to it.

Masking the high nibble makes assumptions about memory layout that are true
for all the arm platforms we support right now, but it makes me uneasy.
This needs to be revisited.
2013-03-09 23:05:19 +00:00
alc
854d4fd5e6 Update a comment: The object lock is no longer a mutex. 2013-03-09 21:32:24 +00:00
melifaro
a4f428dcd2 Add forgotten .El
MFC with:	r248112
2013-03-09 20:04:47 +00:00
davide
399582186f Fixup r248032:
Change size requested to malloc(9) now that callwheel buckets are
callout_list and not callout_tailq anymore. This change was already
there but it seems it got lost after code churn in r248032.

Reported by:	alc, kib
2013-03-09 20:03:10 +00:00
melifaro
8284d98898 Document netstat -Q flags meaning.
MFC after:	1 week
2013-03-09 20:01:35 +00:00
attilio
8e402504c8 MFC 2013-03-09 18:40:37 +00:00
attilio
4a43abf007 Merge back vmc-playground into vmcontention.
vm_radix.{c, h} and _vm_radix.h are copied straight from the branch
to preserve history.
2013-03-09 17:25:31 +00:00
davide
210fb477ab Call make_dev_credf() rather than using the couple make_dev()/dev_ref().
This closes a race with clone_cleanup().
2013-03-09 16:58:19 +00:00
attilio
a813730dfb MFC 2013-03-09 15:54:20 +00:00
adrian
7c437f512e Fix another compiler warning issue when invariants are disabled. 2013-03-09 15:35:31 +00:00
attilio
e5b2c298d6 Improve UMTX_PROFILING:
- Use u_int values for length and max_length values
- Add a way to reset the max_length heuristic in order to have the
  possibility to reuse the mechanism consecutively without rebooting
  the machine
- Add a way to quick display top5 contented buckets in the system for
  the max_length value.
  This should give a quick overview on the quality of the hash table
  distribution.

Sponsored by:	EMC / Isilon storage division
Reviewed by:	jeff, davide
2013-03-09 15:31:19 +00:00
markj
5cd5608a27 Don't log a message when the watchdog is reloaded. It's not useful to do so
and these messages flood the log when bootverbose is enabled.

Approved by:	rstone (co-mentor)
2013-03-09 15:04:44 +00:00
attilio
c434602729 Fix mismerge. 2013-03-09 14:34:53 +00:00
db
97292df51d commit correct tested fix for gr_util.c
Approved by:	theraven
2013-03-09 13:30:06 +00:00
davide
ce7dfce71d smbfs_lookup() in the DOTDOT case operates on dvp->n_parent without
proper locking. This doesn't prevent in any case reclaim of the vnode.
Avoid this not going over-the-wire in this case and relying on subsequent
smbfs_getattr() call to restore consistency.
While I'm here, change a couple of SMBVDEBUG() in MPASS().
sbmfs_smb_lookup() doesn't and shouldn't know about '.' and '..'

Reported by:	pho's stress2 suite
2013-03-09 13:25:45 +00:00
attilio
085d7026cd Merge from vmcontention 2013-03-09 13:12:12 +00:00
davide
f30e75d436 - Initialize variable in smbfs_rename() to silent compiler warning
- Fix smbfs_mkdir() return value (in case of error).

Reported by:	pho
2013-03-09 13:05:21 +00:00
attilio
96a16f0dcf MFC 2013-03-09 12:51:39 +00:00
attilio
63326e81a3 Garbage collect NWFS and NCP bits which are now completely disconnected
from the tree since few months.

This patch is not targeted for MFC.
2013-03-09 12:45:36 +00:00
attilio
c07c7b0824 MFC 2013-03-09 12:03:08 +00:00
kib
359add023c Correct the lock class for the vm object lock.
Reported and tested by:	joel
2013-03-09 10:16:08 +00:00