summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug in ofwbus_release_resource() for non-ofwbus descendantszbb2016-02-181-4/+9
| | | | | | | | | | | | | | Resource list for devices that are not ofwbus descendants, but got to ofwbus method via bus_generic_release_resource() call chain, cannot be found using BUS_GET_RESOURCE_LIST() used by ofwbus. In that case, changing device's resource list should be avoided (will not contain resource list prepared by ofw or simplebus). Pointy-hat to: zbb Reviewed by: wma Obtained from: Semihalf Sponsored by: Cavium Differential Revision: https://reviews.freebsd.org/D5304
* Fix ThunderX external PEM bus offsetwma2016-02-181-1/+1
| | | | | | | | Obtained from: Semihalf Sponsored by: Cavium Approved by: cognet (mentor) Reviewed by: zbb Differential revision: https://reviews.freebsd.org/D5293
* Remove redundant ARM_L2_ADDR_BITS and L2_ADDR_BITS definitions andskra2016-02-185-12/+2
| | | | replace them by primary ones where needed.
* Remove redundant L2_ADDR_MASK definition and replace it by primary one.skra2016-02-182-4/+1
|
* Remove unneeded definitions after r291406. Also remove redundant andskra2016-02-182-24/+0
| | | | not used L1_ADDR_BITS definition.
* Reorganize the handling all-zeroes terminal block in sparse modethomas2016-02-185-19/+47
| | | | | | | | | | | | | | | | | | The intent of the previous code in that case was to force an explicit write, but the implementation was incorrect, and as a result the write was never performed. This new implementation instead uses ftruncate(2) to extend the file with a trailing hole. Also introduce regression tests for these cases. PR: 189284 (original PR whose fix introduced this bug) PR: 207092 Differential Revision: D5248 Reviewed by: sobomax,kib MFC after: 2 weeks
* hyperv/hn: Use buf_ring for txdesc listsephe2016-02-182-10/+66
| | | | | | | | | | | | | | | | | So one spinlock is avoided, which would be potentially dangerous for virtual machine, if the spinlock holder was scheduled out by the host, as noted by royger. Old spinlock based txdesc list is still kept around, so we could have a safe fallback. No performance regression nor improvement is observed. Reviewed by: adrian Approved by: adrian (mentor) MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5290
* hyperv/hn: Split TX ring data structure out of softcsephe2016-02-182-208/+404
| | | | | | | | | | This paves the way for upcoming vRSS stuffs and eases more code cleanup. Reviewed by: adrian Approved by: adrian (mentor) MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5283
* hyperv/hn: Use non-fast taskqueue for transmissionsephe2016-02-181-2/+2
| | | | | | | | | | | Performance stays same; so no need to use fast taskqueue here. Suggested by: royger Reviewed by: adrian Approved by: adrian (mentor) MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5282
* hyperv/hn: Use taskqueue_enqueue()sephe2016-02-181-6/+4
| | | | | | | | | | This also eases experiment on the non-fast taskqueue. Reviewed by: adrian, Jun Su <junsu microsoft com> Approved by: adrian (mentor) MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5276
* hyperv/hn: Split RX ring data structure out of softcsephe2016-02-182-112/+262
| | | | | | | | | | This paves the way for upcoming vRSS stuffs and eases more code cleanup. Reviewed by: adrian Approved by: adrian (mentor) MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5275
* hyperv/hn: Change global tunable prefix to hw.hnsephe2016-02-181-50/+24
| | | | | | | | | | | And use SYSCTL+CTLFLAG_RDTUN for them. Suggested by: adrian Reviewed by: adrian, Hongjiang Zhang <honzhan microsoft com> Approved by: adrian (mentor) MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5274
* hyperv/hn: Always do transmission scheduling.sephe2016-02-181-0/+7
| | | | | | | | | | This one gives the best performance so far. Reviewed by: adrian Approved by: adrian (mentor) MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5273
* hyperv/hn: Add option to allow sharing TX taskq between hn instancessephe2016-02-181-5/+37
| | | | | | | | | | It is off by default. This eases further experimenting on this driver. Reviewed by: adrian Approved by: adrian (mentor) MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5272
* hyperv/hn: Set the TCP ACK/data segment aggregation limitsephe2016-02-182-42/+53
| | | | | | | | | | | | | | | | | | | | | | | | Set TCP ACK append limit to 1, i.e. aggregate 2 ACKs at most. Aggregating anything more than 2 hurts TCP sending performance in hyperv. This significantly improves the TCP sending performance when the number of concurrent connetion is low (2~8). And it greatly stabilizes the TCP sending performance in other cases. Set TCP data segments aggregation length limit to 37500. Without this limitation, hn(4) could aggregate ~45 TCP data segments for each connection (even at 64 or more connections) before dispatching them to socket code; large aggregation slows down ACK sending and eventually hurts/destabilizes TCP reception performance. This setting stabilizes and improves TCP reception performance for >4 concurrent connections significantly. Make them sysctls so they could be adjusted. Reviewed by: adrian, gallatin (previous version), hselasky (previous version) Approved by: adrian (mentor) MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5185
* tcp/lro: Allow drivers to set the TCP ACK/data segment aggregation limitsephe2016-02-183-3/+19
| | | | | | | | | | | | ACK aggregation limit is append count based, while the TCP data segment aggregation limit is length based. Unless the network driver sets these two limits, it's an NO-OP. Reviewed by: adrian, gallatin (previous version), hselasky (previous version) Approved by: adrian (mentor) MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5185
* Fix a bug introduced in r295736yongari2016-02-181-1/+2
| | | | | | TX descriptor address should be updated for valid chain. Pointed out by: jmallett
* Use the _SAFE loop variant, since the loop body may remove queue entries.markj2016-02-181-2/+3
| | | | | PR: 207146 MFC after: 3 days
* Remove duplicated check.yongari2016-02-181-11/+8
| | | | Found by: PVS-Studio
* Fix variable assignment.yongari2016-02-187-7/+7
| | | | Found by: PVS-Studio
* Fix installation of makewhatis.local(1) since r283777.bdrewery2016-02-186-5/+166
| | | | | | | | The wrapper script has moved to libexec/makewhatis.local since it is not directlry related to the older makewhatis(1) utility that has been replaced by the usr.bin/mandoc version. Reported by: vangyzen
* Release the ref acquired in nd6_dad_find() if DAD is already in progress.markj2016-02-181-2/+3
| | | | MFC after: 1 week
* Use pfxrtr_del() instead of freeing advertising routers directly.markj2016-02-171-2/+2
| | | | MFC after: 1 week
* Remove a prototype for the non-existent prelist_del().markj2016-02-171-1/+0
| | | | MFC after: 1 week
* Fix a potentially "forever" loop.glebius2016-02-171-1/+1
| | | | Found by: PVS-Studio
* Ternary operator has lower priority than OR.glebius2016-02-171-1/+1
| | | | Found by: PVS-Studio
* Ternary operator has lower priority than OR.glebius2016-02-171-3/+2
| | | | Found by: PVS-Studio
* Add missing braces.glebius2016-02-171-1/+2
| | | | | Found by: PVS-Studio Approved by: so (implicit)
* After nullfs rmdir operation, reclaim the directory vnode which waskib2016-02-171-0/+9
| | | | | | | | | unlinked. Otherwise the vnode stays cached, causing leak. This is similar to r292961 for regular files. Reported and tested by: pho (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week
* In bnoreuselist(), check both ends of the specified logical blockkib2016-02-171-1/+2
| | | | | | | | | | | | numbers range. This effectively skips indirect and extdata blocks on the buffer queue. Since their logical block numbers are negative, bnoreuselist() could loop infinitely. Reported and tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week
* Fix build race after r295643.bdrewery2016-02-171-0/+2
| | | | Sponsored by: EMC / Isilon Storage Division
* Use the right size for zeroing.imp2016-02-171-1/+1
| | | | Submitted by: rpokala@
* Move the Allwinner kernels to use fdt_pinctrl. This will read the pinandrew2016-02-1717-83/+761
| | | | | | | | | | | | | configuration from the FDT data, then set the pins into the requested state. As part of this the gpio controller now reports the correct number of pins instead of returning the number of bank * 32. To allow for a future consolidated kernel we add the SOC_ALLWINNER_A10 and SOC_ALLWINNER_A20 kernel options. These need to be set as appropriate for the SoC the kernel will boot on. Submitted by: Emmanuel Vadot <manu@bidouilliste.com> Differential Revision: https://reviews.freebsd.org/D5177
* Add protection code for issues reported by PVS / D5245.tuexen2016-02-171-2/+4
| | | | MFC after: 3 days
* Code cleanup which will silence a warning in PVS / D5245.tuexen2016-02-172-7/+3
|
* Address a warning reported by D5245 / PVS.tuexen2016-02-171-2/+2
| | | | MFC after: 3 days
* Create an API to reset a struct bio (g_reset_bio). This is mandatoryimp2016-02-1710-11/+21
| | | | | | | | | for all struct bio you get back from g_{new,alloc}_bio. Temporary bios that you create on the stack or elsewhere should use this before first use of the bio, and between uses of the bio. At the moment, it is nothing more than a wrapper around bzero, but that may change in the future. The wrapper also removes one place where we encode the size of struct bio in the KBI.
* Do not use PMAP_DOMAIN_KERNEL definition for __ARM_ARCH >= 6 as domainsskra2016-02-173-27/+3
| | | | | | are not utilized there. Only domain #0 is used and there is no reference to it in the whole pmap-v6.c. Thus initialize domain access register in locore-v6.c without reference too.
* Hardcode date in RCS paper for reproducibilityemaste2016-02-171-1/+1
| | | | | | | | | | The 1995/06/01 date is taken from the $Id$ entry in rcs.ms from RCS 5.7, the last version we imported, and is more meaningful than the OS build date. Reviewed by: eadler Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5299
* Add the implementation of atomic_swap_32().br2016-02-171-0/+13
|
* Use better form representing 32 x 128-bit floating-point registers.br2016-02-171-1/+1
| | | | Suggested by: kib
* There is no need to pre save tp in cpu_fork().br2016-02-171-6/+0
| | | | Discussed with: jhb
* Add the implementation of savectx().br2016-02-171-4/+23
|
* Use callee-saved registers to pass args through fork_trampoline().br2016-02-172-17/+9
|
* Remove unneeded vector_page_setprot() for __ARM_ARCH >= 6. A vectorskra2016-02-173-12/+3
| | | | page is always mapped in KVA space and so it's always writeable.
* Include pte-v6.h only where needed.skra2016-02-173-4/+1
|
* Remove pd_prot and pd_cache members from struct arm_devmap_entry.skra2016-02-1716-112/+32
| | | | | The struct is used for definition of static device mappings which should always have same protection and attributes.
* Evaluate also VM_PROT_EXECUTE protection in pmap_preboot_map_attr().skra2016-02-171-0/+1
| | | | | | | | Before this change all mappings done by this function were executable as pte entries have NOT EXECUTABLE bit. The function is used only for static device mappings at present. Thus this is also a fix as DEVICE memory should not be mapped as executable.
* Fix build race after r295643.bdrewery2016-02-171-0/+1
| | | | Sponsored by: EMC / Isilon Storage Division
* Bump __FreeBSD_Version for u_long -> rman_res_t change (r294883).jhibbits2016-02-161-1/+1
|
OpenPOWER on IntegriCloud