Revision tags: release/4.7.0_cvs |
|
#
316ec49a |
| 02-Oct-2002 |
Scott Long <scottl@FreeBSD.org> |
Some kernel threads try to do significant work, and the default KSTACK_PAGES doesn't give them enough stack to do much before blowing away the pcb. This adds MI and MD code to allow the allocation of
Some kernel threads try to do significant work, and the default KSTACK_PAGES doesn't give them enough stack to do much before blowing away the pcb. This adds MI and MD code to allow the allocation of an alternate kstack who's size can be speficied when calling kthread_create. Passing the value 0 prevents the alternate kstack from being created. Note that the ia64 MD code is missing for now, and PowerPC was only partially written due to the pmap.c being incomplete there. Though this patch does not modify anything to make use of the alternate kstack, acpi and usb are good candidates.
Reviewed by: jake, peter, jhb
show more ...
|
#
7419815d |
| 25-Sep-2002 |
Scott Long <scottl@FreeBSD.org> |
The AAC_COMPAT_LINUX option was really annoying, since it made the aac driver dependent on the linux emulation module. This was especially bad for the release engineers who tried to move the aac dri
The AAC_COMPAT_LINUX option was really annoying, since it made the aac driver dependent on the linux emulation module. This was especially bad for the release engineers who tried to move the aac driver from the kernel onto the drivers floppy. The linux compat bits for this driver are now in their own driver, aac_linux. It can be loaded as a module or compiled into the kernel. For the latter case, the AAC_COMPAT_LINUX option is needed, along with the COMPAT_LINUX option.
I've tested this in every configuration I can think of. This is an MFC candidate for 4.7.
Idea from: rwatson MFC after: 3 days
show more ...
|
#
eb3025b3 |
| 30-Aug-2002 |
Scott Long <scottl@FreeBSD.org> |
The aac driver needs 256K of contiguous physical memory in order to attach. If it can't get that (highly likely if loaded as a module on a system that's been up for a while), give a more descriptive
The aac driver needs 256K of contiguous physical memory in order to attach. If it can't get that (highly likely if loaded as a module on a system that's been up for a while), give a more descriptive error message. Also clean up some nearby style nits.
MFC after: 2 days
show more ...
|
#
d49fa1ca |
| 17-Aug-2002 |
Robert Watson <rwatson@FreeBSD.org> |
In continuation of early fileop credential changes, modify fo_ioctl() to accept an 'active_cred' argument reflecting the credential of the thread initiating the ioctl operation.
- Change fo_ioctl()
In continuation of early fileop credential changes, modify fo_ioctl() to accept an 'active_cred' argument reflecting the credential of the thread initiating the ioctl operation.
- Change fo_ioctl() to accept active_cred; change consumers of the fo_ioctl() interface to generally pass active_cred from td->td_ucred. - In fifofs, initialize filetmp.f_cred to ap->a_cred so that the invocations of soo_ioctl() are provided access to the calling f_cred. Pass ap->a_td->td_ucred as the active_cred, but note that this is required because we don't yet distinguish file_cred and active_cred in invoking VOP's. - Update kqueue_ioctl() for its new argument. - Update pipe_ioctl() for its new argument, pass active_cred rather than td_ucred to MAC for authorization. - Update soo_ioctl() for its new argument. - Update vn_ioctl() for its new argument, use active_cred rather than td->td_ucred to authorize VOP_IOCTL() and the associated VOP_GETATTR().
Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
show more ...
|
Revision tags: release/4.6.2_cvs, release/4.6.2, release/4.6.1, release/4.6.0_cvs |
|
#
39ee03c3 |
| 03-May-2002 |
Scott Long <scottl@FreeBSD.org> |
bzero out the sync command buffer when sending commands. This was causing problems when enumerating multiple arrays.
This is an MFC candidate.
|
#
fe3cb0e1 |
| 27-Apr-2002 |
Scott Long <scottl@FreeBSD.org> |
Add a CAM interface to the aac driver. This is useful in case you should ever connect a SCSI Cdrom/Tape/Jukebox/Scanner/Printer/kitty-litter-scooper to your high-end RAID controller. The interface
Add a CAM interface to the aac driver. This is useful in case you should ever connect a SCSI Cdrom/Tape/Jukebox/Scanner/Printer/kitty-litter-scooper to your high-end RAID controller. The interface to the arrays is still via the block interface; this merely provides a way to circumvent the RAID functionality and access the SCSI buses directly. Note that for somewhat obvious reasons, hard drives are not exposed to the da driver through this interface, though you can still talk to them via the pass driver. Be the first on your block to low-level format unsuspecting drives that are part of an array!
To enable this, add the 'aacp' device to your kernel config.
MFC after: 3 days
show more ...
|
#
cbfd045b |
| 24-Apr-2002 |
Scott Long <scottl@FreeBSD.org> |
Prepare for a major update to the aac driver: Update the aac driver with the new crashdump api. Protect sync fibs with a mutex. Align all DMA buffers on a PAGE_SIZE boundary.
MFC after: 3 days
|
#
fe94b852 |
| 06-Feb-2002 |
Scott Long <scottl@FreeBSD.org> |
Don't attach to Dell PERC2/QC cards that have a firmware rev of 1.x. This check is complicated by the fact that the Adaptec 5400S cards claim to use 1.x firmware also. PERC2/QC 1.x firmware is not
Don't attach to Dell PERC2/QC cards that have a firmware rev of 1.x. This check is complicated by the fact that the Adaptec 5400S cards claim to use 1.x firmware also. PERC2/QC 1.x firmware is not compatible with this driver and will cause a system hang.
MFC after: 3 days
show more ...
|
Revision tags: release/4.5.0_cvs, release/4.4.0_cvs |
|
#
a4db4953 |
| 14-Jan-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
Replace ffind_* with fget calls.
Make fget MPsafe.
Make fgetvp and fgetsock use the fget subsystem to reduce code bloat.
Push giant down in fpathconf().
|
#
9e209b12 |
| 13-Jan-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
Include sys/_lock.h and sys/_mutex.h to reduce namespace pollution.
Requested by: jhb
|
#
426da3bc |
| 13-Jan-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
SMP Lock struct file, filedesc and the global file list.
Seigo Tanimura (tanimura) posted the initial delta.
I've polished it quite a bit reducing the need for locking and adapting it for KSE.
Loc
SMP Lock struct file, filedesc and the global file list.
Seigo Tanimura (tanimura) posted the initial delta.
I've polished it quite a bit reducing the need for locking and adapting it for KSE.
Locks:
1 mutex in each filedesc protects all the fields. protects "struct file" initialization, while a struct file is being changed from &badfileops -> &pipeops or something the filedesc should be locked.
1 mutex in each struct file protects the refcount fields. doesn't protect anything else. the flags used for garbage collection have been moved to f_gcflag which was the FILLER short, this doesn't need locking because the garbage collection is a single threaded container. could likely be made to use a pool mutex.
1 sx lock for the global filelist.
struct file * fhold(struct file *fp); /* increments reference count on a file */
struct file * fhold_locked(struct file *fp); /* like fhold but expects file to locked */
struct file * ffind_hold(struct thread *, int fd); /* finds the struct file in thread, adds one reference and returns it unlocked */
struct file * ffind_lock(struct thread *, int fd); /* ffind_hold, but returns file locked */
I still have to smp-safe the fget cruft, I'll get to that asap.
show more ...
|
#
e45bef2a |
| 09-Jan-2002 |
Mike Smith <msmith@FreeBSD.org> |
Staticise the aac devclass.
|
#
c3d15322 |
| 03-Dec-2001 |
Scott Long <scottl@FreeBSD.org> |
Use d_thread_t to reduce diffs between current and stable. Spell ACQUIRE correctly.
|
#
b3457b51 |
| 02-Dec-2001 |
Scott Long <scottl@FreeBSD.org> |
Add functionality and fix bugs so the driver will work with soon-to-be released management apps.
1. Implement poll(). This will check for queued aif's so that a subsequent ioctl call to retrie
Add functionality and fix bugs so the driver will work with soon-to-be released management apps.
1. Implement poll(). This will check for queued aif's so that a subsequent ioctl call to retrieve the next aif will not block. 2. Don't catch signals when sleeping on a fib sent from userland. This causes a race and panic due to the pthread context switcher waking up the tsleep at inopportune times. 3. Fix some whitespace nits.
MFC after: 3 days
show more ...
|
#
282873e2 |
| 26-Oct-2001 |
John Baldwin <jhb@FreeBSD.org> |
- Change the taskqueue locking to protect the necessary parts of a task while it is on a queue with the queue lock and remove the per-task locks. - Remove TASK_DESTROY now that it is no longer need
- Change the taskqueue locking to protect the necessary parts of a task while it is on a queue with the queue lock and remove the per-task locks. - Remove TASK_DESTROY now that it is no longer needed. - Go back to inlining TASK_INIT now that it is short again.
Inspired by: dfr
show more ...
|
#
1de1c550 |
| 26-Oct-2001 |
John Baldwin <jhb@FreeBSD.org> |
Add locking to taskqueues. There is one mutex per task, one mutex per queue, and a mutex to protect the global list of taskqueues. The only visible change is that a TASK_DESTROY() macro has been ad
Add locking to taskqueues. There is one mutex per task, one mutex per queue, and a mutex to protect the global list of taskqueues. The only visible change is that a TASK_DESTROY() macro has been added to mirror the TASK_INIT() macro to destroy a task before it is free'd.
Submitted by: Andrew Reiter <awr@watson.org>
show more ...
|
#
b40ce416 |
| 12-Sep-2001 |
Julian Elischer <julian@FreeBSD.org> |
KSE Milestone 2 Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is fu
KSE Milestone 2 Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process.
Sorry john! (your next MFC will be a doosie!)
Reviewed by: peter@freebsd.org, dillon@freebsd.org
X-MFC after: ha ha ha ha
show more ...
|
#
914da7d0 |
| 05-Sep-2001 |
Scott Long <scottl@FreeBSD.org> |
Bring the aac driver *much* closer to style(9).
Reviewed by: ken
|
#
f8185d54 |
| 03-Sep-2001 |
Scott Long <scottl@FreeBSD.org> |
Sigh. There are actually two ioctls ranges that need to be watched on the linux side. This will all be over soon...
|
#
3361abb7 |
| 03-Sep-2001 |
Scott Long <scottl@FreeBSD.org> |
Restrict the range of linux ioctls we will accept.
|
#
6965a493 |
| 30-Aug-2001 |
Scott Long <scottl@FreeBSD.org> |
Doh! Fix a comma that disappeared along the way.
Pointy-hat by: peter
|
#
36e0bf6e |
| 30-Aug-2001 |
Scott Long <scottl@FreeBSD.org> |
Mega update to the aac driver. 1. Correctly handle commands initiated by the adapter. These commands are defered to a kthread responsible for their processing, then are properly returned to
Mega update to the aac driver. 1. Correctly handle commands initiated by the adapter. These commands are defered to a kthread responsible for their processing, then are properly returned to the controller. 2. Add/remove disk devices when notified by the card that a container was created/deleted/offline. 3. Implement crashdump functionality. 4. Support all ioctls needed for the management CLI to work. The linux version of this app can be found at the Dell or HP website. A native version will be forthcoming.
MFC-after: 4.4-RELEASE
show more ...
|
#
1a393b61 |
| 07-Aug-2001 |
Scott Long <scottl@FreeBSD.org> |
Adding missing () in a KASSERT format string.
Submitted by: brandt@fokus.gmd.de
|
#
fb0c27d7 |
| 06-Aug-2001 |
Scott Long <scottl@FreeBSD.org> |
Put the linux compat ioctl interface on death row. Add FreeBSD definitions of all of the ioctls, plus round out all ioctl definitions to match what exists for linux. Allow ioctls to be called throu
Put the linux compat ioctl interface on death row. Add FreeBSD definitions of all of the ioctls, plus round out all ioctl definitions to match what exists for linux. Allow ioctls to be called through either the native or linux interface, though no apps exist (yet) that can take advantage of native calling.
show more ...
|
#
3d04a9d7 |
| 05-Aug-2001 |
Scott Long <scottl@FreeBSD.org> |
Once again throw out the calculation of si_iosize_max and set it to 64K. Although it can go higher, it is not safe to so do on arrays with many members. Compromise by adding a tunable, "hw.aac.iosiz
Once again throw out the calculation of si_iosize_max and set it to 64K. Although it can go higher, it is not safe to so do on arrays with many members. Compromise by adding a tunable, "hw.aac.iosize_max" that can be set at boottime. Also document in the aac(4) manpage.
MFC after: 4 weeks
show more ...
|