summaryrefslogtreecommitdiffstats
path: root/sys/conf
Commit message (Collapse)AuthorAgeFilesLines
* - Add a new general purpose path-compressed radix trie which can be usedjeff2013-05-121-0/+1
| | | | | | | | | | | with any structure containing a uint64_t index. The tree code auto-generates type safe wrappers. - Eliminate the buf splay and replace it with pctrie. This is not only significantly faster with large files but also allows for the possibility of shared locking. Reviewed by: alc, attilio Sponsored by: EMC / Isilon Storage Division
* Add option WITNESS_NO_VNODE to suppress printing LORs between VNODEmarcel2013-05-091-0/+1
| | | | | | | | | locks. To support this, VNODE locks are created with the LK_IS_VNODE flag. This flag is propagated down using the LO_IS_VNODE flag. Note that WITNESS still records the LOR. Only the printing and the optional entering into the kernel debugger is bypassed with the WITNESS_NO_VNODE option.
* Bring in a basic ethernet switch driver for the IP17x series ofadrian2013-05-081-0/+5
| | | | | | | | | switches. These are notably found on some AR71xx based Mikrotik boards. Submitted by: Luiz Otavio O Souza <loos.br@gmail.com> Reviewed by: ray
* Rename VM_NDOMAIN into MAXMEMDOM and move it into machine/param.h inattilio2013-05-072-1/+5
| | | | | | | | | order to match the MAXCPU concept. The change should also be useful for consolidation and consistency. Sponsored by: EMC / Isilon storage division Obtained from: jeff Reviewed by: alc
* Allow the default USB template to be specified at compile time.hselasky2013-05-031-0/+1
|
* Add the AR9300 HAL into the kernel and module builds.adrian2013-05-022-1/+50
| | | | | | Tested: * make universe (honest!)
* MFP4 changes 222065 and 222068:brooks2013-04-302-1/+1
| | | | | | | Add a simplebus attachment for cfi(4)'s FDT support and move cfi_bus_fdt.c to sys/conf/files so non-ppc architectures are supported. Sponsored by: DARPA, AFRL
* Add a new driver to support the Intel Non-Transparent Bridge(NTB).carl2013-04-291-0/+2
| | | | | | | | | | | | | | | | | | | | The NTB allows you to connect two systems with this device using a PCI-e link. The driver is made of two modules: - ntb_hw which is a basic hardware abstraction layer for the device. - if_ntb which implements the ntb network device and the communication protocol. The driver is limited at the moment to CPU memcpy instead of using DMA, and only Back-to-Back mode is supported. Also the network device isn't full featured yet. These changes will be coming soon. The DMA change will also bring in the ioat driver from the project branch it is on now. This is an initial port of the GPL/BSD Linux driver contributed by Jon Mason from Intel. Any bugs are my contributions. Sponsored by: Intel Reviewed by: jimharris, joel (man page only) Approved by: jimharris (mentor)
* Add usie to LINT.glebius2013-04-261-0/+3
|
* wiigpio depends on options WII.rpaulo2013-04-241-1/+1
|
* Add an option for the GE FES based packet engines. Its board IDsimp2013-04-231-0/+1
| | | | | overlap with the standard ones, so kernels for this family of boards need the option OCTEON_VENDOR_GEFES.
* Expose CAM_BOOT_DELAY as a kernel conf item now.sbruno2013-04-201-0/+1
| | | | | | | | | This allows users who boot without loader to adjust their environments around slightly buggy or slow hardware. PR: kern/161809 Submitted by: rozhuk.im@gmail.com MFC after: 2 weeks
* Merge ACPICA 20130418.jkim2013-04-191-0/+1
|
* Implement a very basic multi-PHY aware switch device.adrian2013-04-191-0/+1
| | | | | | | | | This is intended to be used as a stop-gap for switch devices which expose multiple ethernet PHYs but we don't have a driver for - here, etherswitchcfg and the general switch configuration API can be used to interface to said PHYs. Submitted by: Luiz Otavio O Souza <loos.br@gmail.com>
* Move the NFS FHA (File Handle Affinity) code from sys/nfsserver token2013-04-171-1/+1
| | | | | | | | sys/nfs, since it is now shared by the two NFS servers. Suggested by: rmacklem Sponsored by: Spectra Logic MFC after: 2 weeks
* Revamp the old NFS server's File Handle Affinity (FHA) code so thatken2013-04-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it will work with either the old or new server. The FHA code keeps a cache of currently active file handles for NFSv2 and v3 requests, so that read and write requests for the same file are directed to the same group of threads (reads) or thread (writes). It does not currently work for NFSv4 requests. They are more complex, and will take more work to support. This improves read-ahead performance, especially with ZFS, if the FHA tuning parameters are configured appropriately. Without the FHA code, concurrent reads that are part of a sequential read from a file will be directed to separate NFS threads. This has the effect of confusing the ZFS zfetch (prefetch) code and makes sequential reads significantly slower with clients like Linux that do a lot of prefetching. The FHA code has also been updated to direct write requests to nearby file offsets to the same thread in the same way it batches reads, and the FHA code will now also send writes to multiple threads when needed. This improves sequential write performance in ZFS, because writes to a file are now more ordered. Since NFS writes (generally less than 64K) are smaller than the typical ZFS record size (usually 128K), out of order NFS writes to the same block can trigger a read in ZFS. Sending them down the same thread increases the odds of their being in order. In order for multiple write threads per file in the FHA code to be useful, writes in the NFS server have been changed to use a LK_SHARED vnode lock, and upgrade that to LK_EXCLUSIVE if the filesystem doesn't allow multiple writers to a file at once. ZFS is currently the only filesystem that allows multiple writers to a file, because it has internal file range locking. This change does not affect the NFSv4 code. This improves random write performance to a single file in ZFS, since we can now have multiple writers inside ZFS at one time. I have changed the default tuning parameters to a 22 bit (4MB) window size (from 256K) and unlimited commands per thread as a result of my benchmarking with ZFS. The FHA code has been updated to allow configuring the tuning parameters from loader tunable variables in addition to sysctl variables. The read offset window calculation has been slightly modified as well. Instead of having separate bins, each file handle has a rolling window of bin_shift size. This minimizes glitches in throughput when shifting from one bin to another. sys/conf/files: Add nfs_fha_new.c and nfs_fha_old.c. Compile nfs_fha.c when either the old or the new NFS server is built. sys/fs/nfs/nfsport.h, sys/fs/nfs/nfs_commonport.c: Bring in changes from Rick Macklem to newnfs_realign that allow it to operate in blocking (M_WAITOK) or non-blocking (M_NOWAIT) mode. sys/fs/nfs/nfs_commonsubs.c, sys/fs/nfs/nfs_var.h: Bring in a change from Rick Macklem to allow telling nfsm_dissect() whether or not to wait for mallocs. sys/fs/nfs/nfsm_subs.h: Bring in changes from Rick Macklem to create a new nfsm_dissect_nonblock() inline function and NFSM_DISSECT_NONBLOCK() macro. sys/fs/nfs/nfs_commonkrpc.c, sys/fs/nfsclient/nfs_clkrpc.c: Add the malloc wait flag to a newnfs_realign() call. sys/fs/nfsserver/nfs_nfsdkrpc.c: Setup the new NFS server's RPC thread pool so that it will call the FHA code. Add the malloc flag argument to newnfs_realign(). Unstaticize newnfs_nfsv3_procid[] so that we can use it in the FHA code. sys/fs/nfsserver/nfs_nfsdsocket.c: In nfsrvd_dorpc(), add NFSPROC_WRITE to the list of RPC types that use the LK_SHARED lock type. sys/fs/nfsserver/nfs_nfsdport.c: In nfsd_fhtovp(), if we're starting a write, check to see whether the underlying filesystem supports shared writes. If not, upgrade the lock type from LK_SHARED to LK_EXCLUSIVE. sys/nfsserver/nfs_fha.c: Remove all code that is specific to the NFS server implementation. Anything that is server-specific is now accessed through a callback supplied by that server's FHA shim in the new softc. There are now separate sysctls and tunables for the FHA implementations for the old and new NFS servers. The new NFS server has its tunables under vfs.nfsd.fha, the old NFS server's tunables are under vfs.nfsrv.fha as before. In fha_extract_info(), use callouts for all server-specific code. Getting file handles and offsets is now done in the individual server's shim module. In fha_hash_entry_choose_thread(), change the way we decide whether two reads are in proximity to each other. Previously, the calculation was a simple shift operation to see whether the offsets were in the same power of 2 bucket. The issue was that there would be a bucket (and therefore thread) transition, even if the reads were in close proximity. When there is a thread transition, reads wind up going somewhat out of order, and ZFS gets confused. The new calculation simply tries to see whether the offsets are within 1 << bin_shift of each other. If they are, the reads will be sent to the same thread. The effect of this change is that for sequential reads, if the client doesn't exceed the max_reqs_per_nfsd parameter and the bin_shift is set to a reasonable value (22, or 4MB works well in my tests), the reads in any sequential stream will largely be confined to a single thread. Change fha_assign() so that it takes a softc argument. It is now called from the individual server's shim code, which will pass in the softc. Change fhe_stats_sysctl() so that it takes a softc parameter. It is now called from the individual server's shim code. Add the current offset to the list of things printed out about each active thread. Change the num_reads and num_writes counters in the fha_hash_entry structure to 32-bit values, and rename them num_rw and num_exclusive, respectively, to reflect their changed usage. Add an enable sysctl and tunable that allows the user to disable the FHA code (when vfs.XXX.fha.enable = 0). This is useful for before/after performance comparisons. nfs_fha.h: Move most structure definitions out of nfs_fha.c and into the header file, so that the individual server shims can see them. Change the default bin_shift to 22 (4MB) instead of 18 (256K). Allow unlimited commands per thread. sys/nfsserver/nfs_fha_old.c, sys/nfsserver/nfs_fha_old.h, sys/fs/nfsserver/nfs_fha_new.c, sys/fs/nfsserver/nfs_fha_new.h: Add shims for the old and new NFS servers to interface with the FHA code, and callbacks for the The shims contain all of the code and definitions that are specific to the NFS servers. They setup the server-specific callbacks and set the server name for the sysctl and loader tunable variables. sys/nfsserver/nfs_srvkrpc.c: Configure the RPC code to call fhaold_assign() instead of fha_assign(). sys/modules/nfsd/Makefile: Add nfs_fha.c and nfs_fha_new.c. sys/modules/nfsserver/Makefile: Add nfs_fha_old.c. Reviewed by: rmacklem Sponsored by: Spectra Logic MFC after: 2 weeks
* Introduce glabel labels based on GEOM ident attributes. In this initialivoras2013-04-151-0/+1
| | | | | | | | implementation, error on the side of conservatism and only create labels for GEOMs of classes DISK and MULTIPATH. Discussed with: trasz Approved by: silence from freebsd-geom@
* Unbreak tinderbox build after r249420.jkim2013-04-122-2/+0
|
* Remove ctl(4) from GENERIC. Also remove 'options CTL_DISABLE'trasz2013-04-121-3/+0
| | | | | | | | | | | and kern.cam.ctl.disable tunable; those were introduced as a workaround to make it possible to boot GENERIC on low memory machines. With ctl(4) being built as a module and automatically loaded by ctladm(8), this makes CTL work out of the box. Reviewed by: ken Sponsored by: FreeBSD Foundation
* Generate a LINT for powerpc and for powerpc64.bz2013-04-111-1/+7
| | | | Discussed with: nwhitehorn
* options DPT_HANDLE_TIMEOUTS hasn't worked since dpt(4) was converted to CAMsbruno2013-04-102-17/+1
| | | | | | | | | | | | | | | somewhere around svn r39402 to r39234. I don't know of anyone who really wants to test these changes, but they only remove the deprecated code in question. This shreds the driver down a bit and *removes* options from the kernel configs. These don't appear to be referenced in the man page, so no need to check it there. PR: kern/44587 Obtained from: Yahoo! Inc. MFC after: 2 weeks
* Merge from projects/counters: counter(9).glebius2013-04-081-0/+1
| | | | | | | | | | | | | Introduce counter(9) API, that implements fast and raceless counters, provided (but not limited to) for gathering of statistical data. See http://lists.freebsd.org/pipermail/freebsd-arch/2013-April/014204.html for more details. In collaboration with: kib Reviewed by: luigi Tested by: ae, ray Sponsored by: Nginx, Inc.
* - With the demise of !ATA_CAM, ATA_STATIC_ID is the only ata(4) relatedmarius2013-04-061-6/+2
| | | | | | | | | option left but actually consumed by ada(4), so move it to opt_ada.h and get rid of opt_ata.h. - Fix stand-alone build of atacore(4) by adding opt_cam.h. - Use __FBSDID. - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers.
* - Make ata_str2mode() static, it's not used outside of ata-all.c.marius2013-04-061-1/+0
| | | | | | | | | | - Move ata_timeout() to ata-all.c so we don't need to expose both this function and ata_cam_end_transaction() but only the former. - Move ata_cmd2str() from ata-queue.c to ata-all.c so we can get rid of the former. - Add some missing prototypes. MFC after: 3 days
* Merge ACPICA 20130328.jkim2013-04-041-0/+1
|
* Remove all legacy ATA code parts, not used since options ATA_CAM enabled inmav2013-04-044-23/+3
| | | | | | | | | most kernels before FreeBSD 9.0. Remove such modules and respective kernel options: atadisk, ataraid, atapicd, atapifd, atapist, atapicam. Remove the atacontrol utility and some man pages. Remove useless now options ATA_CAM. No objections: current@, stable@ MFC after: never
* MFP4 change 217313 and part of 222068:brooks2013-04-031-0/+1
| | | | Add a simple nexus attachment for cfi(4).
* MFP4 change 210763brooks2013-04-032-0/+8
| | | | | | | | Allow boothowto and bootverbose to be set via kernel options, which is useful on architectures that are unable to rely on a boot loader to pass configuration variables to the kernel. Submitted by: rwatson
* Comment out the VIMAGE since we need to build both LINTS tokevlo2013-04-031-2/+2
| | | | | | get good coverage. Pointed out by: jhb
* Add VIMAGE to NOTES.kevlo2013-04-021-0/+4
| | | | Reviewed by: zec
* Fix kernel build with options ZFS after r24571 (libzfs_core).mm2013-03-231-0/+2
| | | | Submitted by: Bjoern A. Zeeb <bz@FreeBSD.org>
* MFCattilio2013-03-174-23/+26
|\
| * The -mno-apcs-frame argument is unavaliable on clang, also ignore it there.andrew2013-03-171-1/+1
| |
| * Add __aeabi_memset to libkern, implemented using memset, as clang mayandrew2013-03-161-0/+1
| | | | | | | | generate calls to it.
| * Move the __aeabi_unwind_cpp_pr{0,1,2} functions to libkern so they can beandrew2013-03-161-0/+1
| | | | | | | | referenced in a non-debug kernel.
| * The compiler argument -mno-apcs-frame has no meaning when using EABI as weandrew2013-03-161-0/+2
| | | | | | | | will use aapcs frames, not apcs frames.
| * Fix the indentation for a few commands that were missed or incorrectlyandrew2013-03-161-3/+3
| | | | | | | | indented in r248362.
| * Adjust the indentation of the trampoline compilation to make the commandsandrew2013-03-161-19/+18
| | | | | | | | easier to follow.
| * FDT_DTS_FILE is expanded in a Makefile so use :R to remove the suffixbrooks2013-03-141-2/+2
| | | | | | | | rather than using echo|cut to remove everything after the first '.'.
| * Fix minor spelling error in a comment.joel2013-03-141-1/+1
| |
* | MFCattilio2013-03-113-0/+8
|\ \ | |/
| * Add __aeabi_memcpy to libkern as clang may generate calls to it.andrew2013-03-101-0/+1
| |
| * - Clang doesn't understand the -mno-thumb-interwork. Only use it with gcc.andrew2013-03-101-0/+6
| | | | | | | | | | | | - 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.
| * Correctly align the unwind tables. Without this clang may incorrectly alignandrew2013-03-101-0/+1
| | | | | | | | them causing an alignment fault when producing a backtrace.
* | Merge from vmcontention.attilio2013-03-091-0/+1
|\ \
| * \ MFCattilio2013-03-091-0/+1
| |\ \ | | |/
| | * MFCattilio2013-03-084-10/+19
| | |\
| | * \ MFCattilio2013-03-021-1/+0
| | |\ \
| | * \ \ MFCattilio2013-02-261-1/+1
| | |\ \ \
| | * | | | MFCattilio2013-02-211-1/+0
| | | | | |
OpenPOWER on IntegriCloud