summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Regen after changing prototypes of cpuset_{get,set}affinity().ru2008-03-256-14/+14
|
* Fixed type of the fourth argument of cpuset_{get,set}affinity(2) to be size_t.ru2008-03-254-18/+17
| | | | Prodded by: davidxu
* Check for a NULL free buffer pointer in BPF before invokingrwatson2008-03-251-1/+1
| | | | | | | | bpf_canfreebuf() in order to avoid potentially calling a non-inlinable but trivial function in zero-copy buffer mode for every packet received when we couldn't free the buffer anyway. MFC after: 4 months
* Add support for Marvell Libertas 88W8335 based PCI network adapters.weongyo2008-03-258-0/+4829
| | | | | Reviewed by: sam, many wireless people Approved by: thompsa (mentor)
* Fix double patch on this file.edwin2008-03-251-2/+0
|
* MFV of tzdata2008aedwin2008-03-255-38/+227
| | | | | | | | | | | | Changes: - Calcutta -> Kolkata - Iraq DST changes - Syria DST changes - Saigon -> Ho_Chi_Minh - Cuba DST changes - New area America/Argentina/San_Luis Approved by: grog@ (mentor)
* Spell "blackhole" correctly and fix one grammar nit.ru2008-03-241-4/+4
|
* Rewrite node to support multiple hooks, alike to ng_l2tp, to use one pairmav2008-03-242-241/+284
| | | | | | | | | | | | | | of pptpgre and ksocket nodes for all calls between two peers. This patch modifies node's API by adding new "session_%04x" hook names support, while keeping backward compatibility. Together with appropriate user-level support (by latest mpd5) it gives huge performance benefits for case of multiple active calls between two peers because of avoiding data duplication and extra socket processing. On my benchmarks I have got more then 10 times speedup for the 200 simultaneous PPTP calls between two peers. In conclusion, it allows now to build effective "clients <=> PAC <=> PNS" setups.
* Belatedly add BPF_JITTER in NOTES for supported architectures.jkim2008-03-243-0/+12
|
* Fix build with option BPF_JITTER.jkim2008-03-242-1/+3
|
* Remove redundant inclusions of net/bpfdesc.h.jkim2008-03-242-2/+0
|
* This commit was generated by cvs2svn to compensate for changes in r177580,sam2008-03-244-5/+47
|\ | | | | | | which included commits to RCS files with non-trunk default branches.
| * add support for driver-based RADIUS ACL's (committed on vendor branch as it'ssam2008-03-244-5/+47
| | | | | | | | | | | | been sent upstream) Submitted by: Chris Zimmermann
* | resolve merge conflictssam2008-03-243-158/+18
| | | | | | | | MFC after: 3 weeks
* | This commit was generated by cvs2svn to compensate for changes in r177576,sam2008-03-2427-294/+472
|\ \ | |/ | | | | which included commits to RCS files with non-trunk default branches.
| * Import of hostapd 0.5.10sam2008-03-2429-323/+490
| |
* | change inp_wlock_assert to inp_lock_assertkmacy2008-03-243-22/+26
| |
* | enable syslog support and add -s option to the man pagesam2008-03-242-2/+7
| | | | | | | | MFC after: 3 weeks
* | This commit was generated by cvs2svn to compensate for changes in r177572,sam2008-03-244-0/+59
|\ \ | | | | | | | | | which included commits to RCS files with non-trunk default branches.
| * | add syslog support (committed on vendor branch as it's been sent upstream)sam2008-03-246-2/+72
| | | | | | | | | | | | PR: bin/116190
* | | update for 0.5.10sam2008-03-242-4/+8
| | |
* | | resolve merge conflictssam2008-03-248-2494/+38
| | | | | | | | | | | | MFC after: 3 weeks
* | | This commit was generated by cvs2svn to compensate for changes in r177568,sam2008-03-2462-484/+2573
|\ \ \ | |/ / | | | | | | which included commits to RCS files with non-trunk default branches.
| * | Import of WPA supplicant 0.5.10sam2008-03-2466-505/+2609
| | |
* | | Diff reduction to Adaptec's driver (around build 15317): catch up with aemaste2008-03-246-153/+128
| | | | | | | | | | | | | | | | | | | | | change in debugging routines. The fwprintf macro in the AAC_DEBUG case (mapping to printf) isn't from the Adaptec driver.
* | | o add M_PROTO[678]; they'll be needed by net80211 vap codesam2008-03-241-37/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | o sort mbuf flags together and extend values to 32 bits o write M_COPYFLAGS in terms of M_PROTOFLAGS o move M_COPYFLAGS and M_PROTOFLAGS up to be together with flag defs Reviewed by: rwatson MFC after: 3 weeks
* | | - Const'ify the bus_stream_asi and bus_type_asi arrays.marius2008-03-242-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | - Replace hard-coded functions names missed in bus_machdep.c rev. 1.44 with __func__. - Break some long lines. MFC after: 1 month
* | | - Take advantage of bus_dmamap_load_mbuf_sg(9).marius2008-03-242-94/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Take advantage of m_collapse(9). - Sync with other NIC drivers and prepend a TX mbuf if the first attempt to load it fails with an error other than EFBIG and stop trying instead of freeing it and keeping on trying to enqueue more mbufs. Also ensure the driver queue isn't empty before trying to enqueue mbufs in order to reduce locking operations. - In xl_ifmedia_upd() add a missing XL_UNLOCK(). [1] - Const'ify the xl_devs array. - Remove an outdated comment. PR: 113406 [1] MFC after: 1 month
* | | - Const'ify the dc_devs array.marius2008-03-242-85/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Correct the maxsize parameter when creating the mbufs busdma tag to reflect the actual requirement of dc(4). - Move the KASSERT in dc_newbuf() to the right spot. - Also convert the TX side to take advantage of bus_dmamap_load_mbuf_sg(9). - Move the comment regarding dc_start_locked() to the right spot. MFC after: 2 weeks
* | | Split the registers into two halves in preparation for SBus support.marius2008-03-244-212/+285
| | | | | | | | | | | | | | | Obtained from: NetBSD (loosely) MFC after: 2 weeks
* | | Diff reduction to Adaptec driver build 15317 (refactoring and code shuffling):emaste2008-03-241-187/+206
| | | | | | | | | | | | | | | | | | | | | | | | - Resource allocation in aac_alloc (moved from from aac_init) - Interrupt setup in aac_setup_intr (from aac_attach) - Container probing in aac_get_container_info (from aac_startup and aac_handle_aif) - Firmware status check moved to aac_check_firmware from aac_init
* | | Fix a bug that when getting/dumping the soft lifetime we reportedbz2008-03-241-1/+1
| | | | | | | | | | | | | | | | | | the hard lifetime instead. MFC after: 3 days
* | | Import change from KAME, rev. 1.362 kame/kame/sys/netkey/key.cbz2008-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | In case of "new SA", we must check the hard lifetime of the old SA to find out if it is not permanent and we can delete it. Submitted by: sakane via gnn MFC after: 3 days
* | | Don't remove usr/include/fs/nwfs and usr/include/netncp, as they are alwaysantoine2008-03-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | recreated during installworld (they are in BSD.include.dist). Reported by: Pawel Worach Approved by: rwatson (mentor) X-MFC: with revision 1.13
* | | Bump the FreeBSD version for zerocopy bpf buffers and changes to thecsjp2008-03-241-1/+1
| | | | | | | | | | | | bpf(4) monitoring ABI/structures.
* | | Catch netstat up for the new bpf stats structures. Print 64 bit valuescsjp2008-03-241-2/+6
| | | | | | | | | | | | | | | | | | | | | properly. Sponsored by: Seccuris Inc MFC after: 4 months
* | | Introduce support for zero-copy BPF buffering, which reduces thecsjp2008-03-249-137/+1469
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | overhead of packet capture by allowing a user process to directly "loan" buffer memory to the kernel rather than using read(2) to explicitly copy data from kernel address space. The user process will issue new BPF ioctls to set the shared memory buffer mode and provide pointers to buffers and their size. The kernel then wires and maps the pages into kernel address space using sf_buf(9), which on supporting architectures will use the direct map region. The current "buffered" access mode remains the default, and support for zero-copy buffers must, for the time being, be explicitly enabled using a sysctl for the kernel to accept requests to use it. The kernel and user process synchronize use of the buffers with atomic operations, avoiding the need for system calls under load; the user process may use select()/poll()/kqueue() to manage blocking while waiting for network data if the user process is able to consume data faster than the kernel generates it. Patchs to libpcap are available to allow libpcap applications to transparently take advantage of this support. Detailed information on the new API may be found in bpf(4), including specific atomic operations and memory barriers required to synchronize buffer use safely. These changes modify the base BPF implementation to (roughly) abstrac the current buffer model, allowing the new shared memory model to be added, and add new monitoring statistics for netstat to print. The implementation, with the exception of some monitoring hanges that break the netstat monitoring ABI for BPF, will be MFC'd. Zerocopy bpf buffers are still considered experimental are disabled by default. To experiment with this new facility, adjust the net.bpf.zerocopy_enable sysctl variable to 1. Changes to libpcap will be made available as a patch for the time being, and further refinements to the implementation are expected. Sponsored by: Seccuris Inc. In collaboration with: rwatson Tested by: pwood, gallatin MFC after: 4 months [1] [1] Certain portions will probably not be MFCed, specifically things that can break the monitoring ABI.
* | | Fix splitting into words of the .for expression to allow forru2008-03-241-22/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | spaces in values. Without this change, the following valid call broke due to parsing of .MAKEFLAGS in bsd.symver.mk: cd /usr/src/lib/libc && make -n DEBUG_FLAGS="-DFOO -DBAR" Spotted by: Igor Sysoev Submitted by: Maxim Dounin, ru MFC after: 1 week
* | | Fix bugs in the previous revision.ru2008-03-241-8/+13
| | |
* | | remove unneccessary tcbinfo lock acquisitions - set tp to null affter ↵kmacy2008-03-241-4/+2
| | | | | | | | | | | | calling enter_timewait as we no longer own the inpcb
* | | - Greatly simplify vget() by removing the guarantee that any newjeff2008-03-241-32/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | references to a vnode with VI_OWEINACT set will force the vinactive() call. The kernel makes no guarantees about which reference was the last to close a file or when the actual inactive processing will happen. The previous code was designed to preserve existing semantics in the face of shared locks, however, this was unnecessary. Discussed with: mckusick
* | | - Don't acquire the vnode interlock in _vn_lock() unless no lock typejeff2008-03-241-19/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | is requested. Handle this case specially before the while loop. - Use the held vnode lock to check for VI_DOOMED. The vnode lock and interlock must both be held to set VI_DOOMED so either one held, even shared, is sufficient to check it. No objection by: kib
* | | - Remove an old comment; vnodes have been working without Giant forjeff2008-03-241-3/+3
| | | | | | | | | | | | | | | | | | years now. - Clarify the locking required for VI_DOOMED in preparation for simplifications to vget() and vn_lock().
* | | Label inp as unused in the non-INVARIANTS casekmacy2008-03-241-2/+2
| | |
* | | First pass at (possibly futile) microoptimizing of cpu_switch. Resultspeter2008-03-231-75/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | are mixed. Some pure context switch microbenchmarks show up to 29% improvement. Pipe based context switch microbenchmarks show up to 7% improvement. Real world tests are far less impressive as they are dominated more by actual work than switch overheads, but depending on the machine in question, workload, kernel options, phase of moon, etc, a few percent gain might be seen. Summary of changes: - don't reload MSR_[FG]SBASE registers when context switching between non-threaded userland apps. These typically cost 120 clock cycles each on an AMD cpu (less on Barcelona/Phenom). Intel cores are probably no faster on this. - The above change only helps unthreaded userland apps that tend to use the same value for gsbase. Threaded apps will get no benefit from this. - reorder things like accessing the pcb to be in memory order, to give prefetching a better chance of working. Operations are now in increasing memory address order, rather than reverse or random. - Push some lesser used code out of the main code paths. Hopefully allowing better code density in cache lines. This is probably futile. - (part 2 of previous item) Reorder code so that branches have a more realistic static branch prediction hint. Both Intel and AMD cpus default to predicting branches to lower memory addresses as being taken, and to higher memory addresses as not being taken. This is overridden by the limited dynamic branch prediction subsystem. A trip through userland might overflow this. - Futule attempt at spreading the use of the results of previous operations in new operations. Hopefully this will allow the cpus to execute in parallel better. - stop wasting 16 bytes at the top of kernel stack, below the PCB. - Never load the userland fs/gsbase registers for kthreads, but preserve curpcb->pcb_[fg]sbase as caches for the cpu. (Thanks Jeff!) Microbenchmarking this code seems to be really sensitive to things like scheduling luck, timing, cache behavior, tlb behavior, kernel options, other random code changes, etc. While it doesn't help heavy userland workloads much, it does help high context switch loads a little, and should help those that involve switching via kthreads a bit more. A special thanks to Kris for the testing and reality checks, and Jeff for tormenting me into doing this. :) This is still work-in-progress.
* | | Correct an error in pmap_mincore() when applied to a 2MB page mapping:alc2008-03-231-3/+3
| | | | | | | | | | | | | | | Use PG_PS_FRAME, not PG_FRAME, to obtain the physical address of the 2MB physical page from the PDE.
* | | Export TDP_KTHREAD to asm files.peter2008-03-231-0/+1
| | |
* | | Move pcb_flags to make trivially better use of cache lines.peter2008-03-231-1/+1
| | |
* | | Protect the setting of the fsbase/gsbase MSR registers and thepeter2008-03-231-0/+2
| | | | | | | | | | | | pcb_[fg]sbase values with a critical section, like the rest of the kernel.
* | | Insulate inpcb consumers outside the stack from the lock type and offset ↵kmacy2008-03-234-73/+142
| | | | | | | | | | | | | | | | | | | | | within the pcb by adding accessor functions. Reviewed by: rwatson MFC after: 3 weeks
OpenPOWER on IntegriCloud