summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Expand commenting on label slots, justification for the MAC Framework lockingrwatson2006-12-203-162/+237
| | | | | | | | model, interactions between locking and policy init/destroy methods. Rewrap some comments to 77 character line wrap. Obtained from: TrustedBSD Project
* Add linux_nanosleep() and regen.jkim2006-12-204-5/+11
|
* reduce padding to compensate for recent change to sys/pcpu.h (tinderbox fix)kmacy2006-12-201-1/+1
|
* MFP4: 109655jkim2006-12-204-55/+72
| | | | | | | | - Move linux_nanosleep() from src/sys/amd64/linux32/linux32_machdep.c to src/sys/compat/linux/linux_time.c. - Validate timespec ranges before use as Linux kernel does. - Fix l_timespec structure. - Clean up style(9) nits.
* MFP4: 110179jkim2006-12-201-3/+41
| | | | | | Add rudimentary IPC_INFO/MSG_INFO command support for linux_msgctl() to pacify Linux ipcs(1). While I am here, add more bound checks for linux_msgsnd() and linux_msgrcv().
* Regen.jkim2006-12-204-10/+27
|
* MFP4: (part of) 110058jkim2006-12-202-6/+58
| | | | Fix 32-bit msgsnd(3) and msgrcv(3) emulations for amd64.
* MFP4: (part of) 110058jkim2006-12-201-24/+26
| | | | Use new kern_msgsnd()/kern_msgrcv() to fix linux32 emulation on amd64.
* MFP4: (part of) 110058jkim2006-12-202-85/+90
| | | | | | | | | copyin()/copyout() for message type is separated from msgsnd()/msgrcv() and it is done from its wrapper functions to support 32-bit emulations. After I implemented this, I have briefly referenced NetBSD and Darwin. NetBSD passes copyin()/copyout() function pointers from wrappers. Darwin passes size of message type as an argument, which is actually similar to my first implementation (P4 109706). We may revisit these implementations later.
* MFP4: (part of) 109714jkim2006-12-201-0/+6
| | | | | Add SYSCALL_MODULE_PRESENT() macro. The idea was borrowed from syscall_register().
* MFp4: differences for bwct ethernet attachmentimp2006-12-202-3/+13
|
* MFp4: Differences in flash part for bwct. need a more generic way to cope.imp2006-12-202-0/+35
|
* MFp4: Add timeout to eeprom access for lame eeprom that go awolimp2006-12-202-4/+8
|
* MFp4: bwct memory size and PLL parametersimp2006-12-201-0/+8
|
* MFp4: bwct boot rom is different. need a more generic way to cope long term.imp2006-12-201-0/+4
|
* MFp4: Delay a second or two after the upload before printing Done.imp2006-12-201-2/+6
| | | | Add an automatic reset for remote operational luvin' goodness.
* MFp4: bwct is a new board choice.imp2006-12-201-1/+1
|
* On amd64 platform, use linux32 headers so 32-bit Linux applicationsdelphij2006-12-201-0/+5
| | | | | | | | | | | would be able to work with aac(4). This approach is used by some other drivers as well. However, we need a more generic way to do this in order to avoid having to special case headers in individual drivers for each platform. Obtained from: Adaptec (version b11518) Approved by: scottl
* In bge_txeof(), cancel the watchdog timeout if all descriptors havebde2006-12-201-1/+2
| | | | | | | been handled instead of when at least one descriptor was just handled. For bge, it is normal to get a txeof when only a small fraction of the queued tx descriptors have been handled, so the bug broke the watchdog in a usual case.
* Avoid a race and a pessimization in bge_intr():bde2006-12-201-6/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - moved the synchronizing bus read to after the bus write for the first interrupt ack so that it actually synchronizes everything necessary. We were acking not only the status update that triggered the interrupt together with any status updates that occurred before we got around to the bus write for the ack, but also any status updates that occur after we do the bus write but before the write reaches the device. The corresponding race for the second interrupt ack resulted in sometimes returning from the interrupt handler with acked but unserviced interrupt events. Such events then remain unserviced until further events cause another interrupt or the watchdog times out. The race was often lost on my 5705, apparently since my 5705 has broken event coalescing which causes a status update for almost every packet, so another status update is quite likely to occur while the interrupt handler is running. Watchdog timeouts weren't very noticeable, apparently because bge_txeof() has one of the usual bugs resetting the watchdog. - don't disable device interrupts while bge_intr() is running. Doing this just had the side effects of: - entering a device mode in which different coalescing parameters apply. Different coalescing parameters can be used to either inhibit or enhance the chance of getting another status update while in the interrupt handler. This feature is useless with the current organization of the interrupt handler but might be useful with a taskqueue handler. - giving a race for ack+reenable/return. This cannot be handled by simply rearranging the order of bus accesses like the race for ack+keepenable/entry. It is necessary to sync the ack and then check for new events. - taking longer, especially with the extra code to avoid the race on ack+reenable/return. Reviewed by: ru, gleb, scottl
* In rev. 1.514, iodone on async buffer may happen before code checks thekib2006-12-201-2/+9
| | | | | | | | | | | vnode v_flag. For cluster buffers this would result in dereferencing NULL b_vp. To prevent the panic, cache relevant vnode flag before calling bstrategy. Reported by: Peter Holm, kris Tested by: Peter Holm Reviewed by: tegge Pointy hat to: kib
* Add a lwpid field into per-cpu structure, the lwpid represents currentdavidxu2006-12-2010-4/+89
| | | | | | | | | | | | | | | | | | | | | | | | running thread's id on each cpu. This allow us to add in-kernel adaptive spin for user level mutex. While spinning in user space is possible, without correct thread running state exported from kernel, it hardly can be implemented efficiently without wasting cpu cycles, however exporting thread running state unlikely will be implemented soon as it has to design and stablize interfaces. This implementation is transparent to user space, it can be disabled dynamically. With this change, mutex ping-pong program's performance is improved massively on SMP machine. performance of mysql super-smack select benchmark is increased about 7% on Intel dual dual-core2 Xeon machine, it indicates on systems which have bunch of cpus and system-call overhead is low (athlon64, opteron, and core-2 are known to be fast), the adaptive spin does help performance. Added sysctls: kern.threads.umtx_dflt_spins if the sysctl value is non-zero, a zero umutex.m_spincount will cause the sysctl value to be used a spin cycle count. kern.threads.umtx_max_spins the sysctl sets upper limit of spin cycle count. Tested on: Athlon64 X2 3800+, Dual Xeon 5130
* Back out rev. 1.266. The real cause for the recent panics has been fixedmbr2006-12-201-1/+1
| | | | in rev. 1.267 and there is no need to keep this test.
* - Use the re_tick() callout instead of if_slowtimo() for drivingmarius2006-12-201-35/+23
| | | | | | | | | re_watchdog() in order to avoid races accessing if_timer. - Use bus_get_dma_tag() so re(4) works on platforms requiring it. - Remove invalid BUS_DMA_ALLOCNOW when creating the parent DMA tag and the tags that are used for static memory allocations. - Don't bother to set if_mtu to ETHERMTU, ether_ifattach() does that. - Remove an unused variable in re_intr().
* Fix a bug originally introduced in rev. 1.74; don't reloaded themarius2006-12-201-1/+2
| | | | | | | | | | watchdog timer in dc_txeof() in case there are still unhandled descriptors as dc_poll() invokes dc_poll() unconditionally. Otherwise this would result in the watchdog timer constantly being being reloaded and thus circumvent that the watchdog ever fires in the DEVICE_POLLING case. Pointed out by: bde
* Partially back out rev. 1.148 and use new ETHER_BPF_MTAP() macro for VLAN.jkim2006-12-201-11/+5
| | | | Remaining changes are cosmetic.
* Remove bogus increment of re-hashed PTEG index. This snuck in with r1.12 ofgrehan2006-12-202-2/+2
| | | | | | | | | | | | | | pmap.c, and is potentially the cause of hangs reported on machines with a small amount of memory. On machines with sufficient RAM, and without a lot of processes running, this situation would probably never occur. Testing is still incomplete, but it is obviously wrong so remove the offending code now. The issue of what to do when both the primary and secondary hash overflow is still open. Reported by: Dan Kresja at windriver dot com, via alc
* Use BMSR for link status in one more place and clean up more.jkim2006-12-201-10/+9
|
* - Do not depend on auto negotiation for link speed/duplex status.jkim2006-12-201-68/+81
| | | | | - Read link status from BMSR instead of auxilary status register. - Clean up style(9) nits.
* Giant might have been temporarily dropped while waiting for proctree_lock, ↵mbr2006-12-191-1/+1
| | | | | | | | | allowing for an intervening tty_close() that cleared tp->t_session. Submitted by: tegge MFC: 1 day
* Remove dependency on deprecated if_watchdog ABI.bms2006-12-194-31/+19
| | | | Tested with a Sitecom RT2661 based card.
* Fix distorted sound on Fujitsu Siemens AMILO Pa 1510.ariff2006-12-191-1/+7
| | | | Reported/Tested by: infofarmer
* Add the tp->t_refcnt validity check back. There are still some racembr2006-12-191-1/+1
| | | | conditions where tp->t_refcnt can go to zero.
* Remove unused sysctls.davidxu2006-12-191-8/+0
|
* Use pipe_direct_write() optimization only if the data is in process' memory.pjd2006-12-191-2/+3
| | | | | | This fixes sending data through pipe from the kernel. Fix suggested by: rwatson
* - Add missing callout_drain() call.oleg2006-12-191-12/+10
| | | | | | | - Synchronize bge_tick() with callout_reset/callout_stop() calls. - Avoid using bge_tick() inside bge_link_upd(), use mii_pollstat() instead. MFC after: 2 month
* - Fix autonegotiation timer.oleg2006-12-191-30/+22
| | | | | | | | - Use MII_ANEGTICKS/MII_ANEGTICKS_GIGE defines instead of hardcoded value. - Fix some comments. - style(9) MFC after: 2 month
* For big-endian version of getulong() macro, cast result to u_int32_t.rodrigc2006-12-191-1/+1
| | | | | | | | | | | This macro was written expecting a 32-bit unsigned long, and doesn't work properly on 64-bit systems. This bug caused vn_stat() to return incorrect values for files larger than 2gb on msdosfs filesystems on 64-bit systems. PR: 106703 Submitted by: Axel Gonzalez <loox e-shell net> MFC after: 3 days
* Fix get_ulong() macro on AMD64 (or any little-endian 64-bit platform).rodrigc2006-12-191-5/+1
| | | | | | | | | This bug caused vn_stat() to fail on files larger than 2gb on msdosfs filesystems on AMD64. PR: 106703 Tested by: Axel Gonzalez <loox e-shell net> MFC after: 3 days
* Restore revision 1.126 that got accidentally nuked.mjacob2006-12-181-0/+6
|
* Add back some CAM_NEW_TRAN code to make backporting to RELENG_6 easier.mjacob2006-12-181-2/+144
|
* Remove stall comment.takawata2006-12-181-1/+1
| | | | Pointed out by:Ed Maste.
* Spell "Kensington Thinking Mouse" correctly.keramida2006-12-182-2/+2
|
* - Remove stale VPD support and its comment and get device name from VPD API.jkim2006-12-182-48/+19
| | | | | | | | - Do not repeatedly read vendor/device IDs while probing. - Remove redundant bzero(3) for softc. device_get_softc(9) does it for free[1]. Reviewed by: glebius Suggested by: glebius[1]
* Oops, I forget to add amd64 as ACPI arch.takawata2006-12-181-1/+1
|
* remove unneeded operations in tsb_set_tte_real - the function iskmacy2006-12-181-7/+3
| | | | | only used early in initialization so SMP safeness isn't really an issue
* add an interface for passing the entire kernel size up front to thekmacy2006-12-182-1/+52
| | | | | loader so that it can memory can be allocated aligned at the beginning of the desired large page
* add new large page sizes for use by shared loaderkmacy2006-12-181-0/+8
|
* build new mdesc filekmacy2006-12-181-1/+3
|
* add declaration for new helper functionkmacy2006-12-181-0/+2
|
OpenPOWER on IntegriCloud