* Re: kexec for 2.5.44 (Who do I send this to?)
From: Eric W. Biederman @ 2002-10-27 17:44 UTC (permalink / raw)
To: Pavel Machek
Cc: linux-kernel, Suparna Bhattacharya, Petr Vandrovec, fastboot,
Werner Almesberger
In-Reply-To: <20021020190939.GA913@elf.ucw.cz>
Pavel Machek <pavel@ucw.cz> writes:
> Hi!
>
> > The kexec code has gone through a fairly decent review, and all known bugs
> > are resolved. There are still BIOS's that don't work after you have
> > run a kernel but that is an entirely different problem.
>
> Looks good... Few comments follow.
> Perhaps this should be done using driverfs callbacks?
O.k. For the cpu shutdown case I am not certain if this can be modeled
properly but here is a shot at thinking it through.
Drawing the APIC dependencies I get a tree is in parallel and usually
flatter than the normal device tree.
boot_strap_processor
apic
|
+----+--------+---------+--------------+
| | | |
+ + + +
IOAPIC IOAPIC CPU#2 CPU#3
|
+--+--------+---------------+--------- .....
| | |
Legacy PIC PCI device 1 PCI device 2
The only sane way I can think to do is to put the apic tree, above
the pci bus trees. This should preserve the requirement not to
shutdown IOAPICs, before shutting down the pci devices, that send
interrupts through them. The hard challenge is that IOAPICs
can appear as pci devices, so it is at least possible for devices
on one pci bus to depend on the IOAPIC on anther pci bus.
However, if we do not disable the PCI bridges/busses it should not be
an issue. We just need to keep from disabling the IOAPICs, and other
PICs until after we have shutdown all of the other devices.
To properly shutdown an SMP system so it can be reinitialized the PICs
must be placed in legacy mode. Which means all of the IOAPICs must
come down.
Does this sound like something that is reasonable to tackle?
Getting it right is a challenge but I do have a good test case :)
Eric
^ permalink raw reply
* RE: Problem with ACPI on Abit KT7,HPT370 (Work Around)
From: Arthur Aldridge @ 2002-10-27 17:46 UTC (permalink / raw)
To: linux-kernel; +Cc: dominik, dominik
Well after posting I continued to play around and found working
combinations.
It certainly seems to be an ACPI issue. BIOS defaults in the
PNP/PCI Config screen are PNP OS = No, and all the PIRQ_#s
are set to auto. With my setup that yields IDE = IRQ 14, USBs
and Net = 10, Sound = 11, VGA = 9, HPT370 = 11 and ACPI = 11.
If I explicitly set any of the IRQ in a manner in which the HPT370
doesn't end up sharing IRQ with the ACPI controller the system
boots. The easiest way is to only explicitly set the HPT370 to IRQ
10. I don't know much about ACPI and don't know what the
significance of sharing the ACPI controller's IRQ is but this doesn't
seem to be an IRQ sharing issue as even with IDE =14, ACPI =11,
and every other PCI device sharing IRQ 10 the kernel comes up
with out issue. Also setting PNP OS either way doesn't seem to
relevant.
>Dominik Geisel (dominik_at_geisel.info) Wrote:
>
>I tried 2.4.10-ac10 with your config and played around with all possible
>BIOS settings...the problem persists.
>Also, I am now quite sure it broke with BIOS version 3R.
>>On Mon, Oct 08, 2001 at 10:35:42PM +0200, Dominik Thinay wrote:
>> with kernel 2.4.11-pre3-xfs + i2c CVS-patch + lmsensors it works fine
on my
>> system (Abit Bios KT7_49B0)
>> CONFIG_PM=y
>> CONFIG_ACPI=y
>> CONFIG_ACPI_DEBUG=y
>> CONFIG_ACPI_BUSMGR=y
>> CONFIG_ACPI_SYS=y
>> CONFIG_ACPI_CPU=y
>> CONFIG_ACPI_BUTTON=y
>>
>> I remember disabled sth in the bios ...but i have forget ... :(
--
Arthur Aldridge
Sun Certified Solaris Admin
aj@yasashi.net
^ permalink raw reply
* Re: PATCH: Support PCI device sorting (Re: PCI device order problem)
From: Greg KH @ 2002-10-27 17:42 UTC (permalink / raw)
To: H. J. Lu; +Cc: Jeff Garzik, Alan Cox, Linux Kernel Mailing List
In-Reply-To: <20021026172526.A15641@lucon.org>
On Sat, Oct 26, 2002 at 05:25:26PM -0700, H. J. Lu wrote:
> On Sat, Oct 26, 2002 at 08:05:13PM -0400, Jeff Garzik wrote:
> > Jeff Garzik wrote:
> >
> > > s/__devinit/__init/ and the implementation looks ok to me
> >
> >
> >
> > ...except if your patch can be called in hotplug paths...
>
> There are plenty of __devini in arch/i386/kernel/pci-pc.c. I will leave
> mine alone.
That is because those functions can be called in PCI hotplug paths,
since yours is only called during init, it should be marked as such.
thanks,
greg k-h
^ permalink raw reply
* Re: parse_cmdline_partitions equivalent for map_info
From: Jörn Engel @ 2002-10-27 18:00 UTC (permalink / raw)
To: rkaiser; +Cc: Frank Neuber, linux-mtd
In-Reply-To: <200210231616.g9NGGJs10316@dagobert.svc.sysgo.de>
On Wed, 23 October 2002 18:22:49 +0200, Robert Kaiser wrote:
> The whole reason of the concat layer was that I was facing a situation like
> the one you describe above: BIOS block in the middle of the physical flash
> address range. I had first planned to deal with it in a mapping driver (like
> all the others have done before and after me), but then a discussion with
> David led to my developing the concat layer as a more generic solution.
>
> David initially wanted it to be an extension to the partitioning code because
> he thought that partitioning and concatenating are closely related concepts
> (which seems only logical at first glance), but after looking a little deeper
> into the issue, I preferred to make it a seperate module because:
>
> 1) It turned out that there is really not much a concat layer could
> sensibly share with the partitioning code. They are indeed closely
> related concepts, but only in the sense that each of them is the
> opposite to the other :-)
True. All you have to do is grab a couple of partitions and create a
new device from those.
A little performance gets lost, as both concat and partitioning have
to adjust the offset and do some checks. This could be done just once,
but I doubt if the performance gain will be noticeable at all. Keep it
simple, Snoopy.
> 2) I wanted it to be decoupled from the partitioning code because I knew
> that your re-write of same was planned to be merged. It's a pity this
> did not happen.
It will. Someday. But when?!?
> > If I got you right, cmdline.c cares about partitioning a device.
>
> cmdline.c just does the tedious work of scanning the kernel commandline
> options and turning the information it finds there into a data structure
> (i.e. the struct mtd_partition that so many mapping drivers have hardcoded).
> This structure can subsequently be passed to the partitioning code. So it is
> basically just a way of specifing a partitioning scheme dynamically through
> the commandline.
>
> It does, however, support multiple MTD devices, i.e. you can specify
> individual partitioning schemes for different MTD devices in a single system.
Sounds interesting enough. Worth a close look, when motivation shows
up again.
> > But I
> > worked on hardware that needed to create three devices on flash and
> > partition two of those. Would that still work easily?
>
> The only thing missing here (assuming you want to use physmap.c for this) is
> physmap.c supporting multiple devices. If I got you right, that is what your
> mphysmap.c is about.
Correct.
> > The user should browse through the configuration, see d-box or
> > whatever, say yes *once* and be happy. That is the best interface next
> > to autosensing, no doubt.
>
> Fully agreed!
>
> (Hmm, actually I would even *prefer* it to autosensing because I've seen
> autosense code fail so many times ;-)
Ok, next to working autosensing then. ;-)
> > So the result is that I am pretty unaware about current cvs head.
> > And by now, I don't even care anymore. David is a good developer, but
> > his problems and my problems don't give a very cooperative mixture.
>
> I wouldn't be so sure about that. It seems to me that many of the problems
> you were facing at the time have been addressed in David's tree in the
> meantime, albeit with different methods.
I wouldn't know, how. With current partitioning, imagine two devices,
both with two partitions.
The first device will get minor 0 for the device and minors 1 and 2
for the partitions. The second will get 3, 4 and 5.
Once you create a third partition on the first device, the second will
have 4, 5 and 6. Can you spell trouble?
This was the main issue with my new partitioning code. That and
removing those useless mtd-ro devices, they also cause tons of
problems.
> From what I gathered up to this point, it seems that a physmap.c that
> supports multiple devices might make a nice addition to David's tree. And, if
> this module could then be generalized to such an extent that it could replace
> -say- 90% of the mapping drivers, this would solve the creeping mapping
> driver inflation that we currently observe.
>
> However, the *big* problem I see with that, is that whoever does this would
> have to analyze every single mapping driver and migrate the relevant bits
> into the new concept. This is tedious, not to speak of the amount of testing
> that needs to be done. I doubt any one person has access to all the vast
> collection of devices for which there exist mapping drivers today.
Very true.
Jörn
--
Victory in war is not repetitious.
-- Sun Tzu
^ permalink raw reply
* RE: A modern RAID solution?
From: Eff Norwood @ 2002-10-27 17:29 UTC (permalink / raw)
To: Alexy Khrabrov, linux-scsi
In-Reply-To: <20021027153048.GA5642@angle.setup.org>
> I heard an opinion that software RAID on Linux with SCSI is
> "almost" as good as a hardware controller. What is the experience
> here? Also, since I'm running LVM throughout, including the root
> partition, does RAID coexist well with LVM?
In my experience, software RAID is very flexible and good at the expense of
a lot of interrupts and some (5-15%) processor overhead depending on the
RAID level you choose. Hardware RAID is good at the expense of $ and doesn't
use as much processor overhead as software RAID. Ultimately, I chose
software RAID because it was vastly more flexible for me. I also abandoned
LVM and now use an IBM open source RAID/Volume manager called EVMS.
http://evms.sourceforge.net. The other thing about software RAID is that if
you move your drives to a new system, they'd still likely work. If you need
to move a hardware RAID card to a new system and it won't work in that
system, you might be out of luck.
Eff Norwood
^ permalink raw reply
* [PATCH] misc cleanups for sr
From: Christoph Hellwig @ 2002-10-27 17:28 UTC (permalink / raw)
To: James Bottomley; +Cc: linux-scsi
bring it back in line with sd:
* get rid of typedefs where possible
* tab-align all credits entries
* line-wrap after 80 characters
* use C99-initializers
--- 1.58/drivers/scsi/sr.c Tue Oct 22 13:06:06 2002
+++ edited/drivers/scsi/sr.c Sun Oct 27 17:06:02 2002
@@ -7,34 +7,34 @@
* Linux scsi disk driver by
* Drew Eckhardt <drew@colorado.edu>
*
- * Modified by Eric Youngdale ericy@andante.org to
- * add scatter-gather, multiple outstanding request, and other
- * enhancements.
+ * Modified by Eric Youngdale ericy@andante.org to
+ * add scatter-gather, multiple outstanding request, and other
+ * enhancements.
*
- * Modified by Eric Youngdale eric@andante.org to support loadable
- * low-level scsi drivers.
+ * Modified by Eric Youngdale eric@andante.org to support loadable
+ * low-level scsi drivers.
*
- * Modified by Thomas Quinot thomas@melchior.cuivre.fdn.fr to
- * provide auto-eject.
+ * Modified by Thomas Quinot thomas@melchior.cuivre.fdn.fr to
+ * provide auto-eject.
*
- * Modified by Gerd Knorr <kraxel@cs.tu-berlin.de> to support the
- * generic cdrom interface
+ * Modified by Gerd Knorr <kraxel@cs.tu-berlin.de> to support the
+ * generic cdrom interface
*
- * Modified by Jens Axboe <axboe@suse.de> - Uniform sr_packet()
- * interface, capabilities probe additions, ioctl cleanups, etc.
+ * Modified by Jens Axboe <axboe@suse.de> - Uniform sr_packet()
+ * interface, capabilities probe additions, ioctl cleanups, etc.
*
- * Modified by Richard Gooch <rgooch@atnf.csiro.au> to support devfs
+ * Modified by Richard Gooch <rgooch@atnf.csiro.au> to support devfs
*
- * Modified by Jens Axboe <axboe@suse.de> - support DVD-RAM
- * transparently and loose the GHOST hack
- *
- * Modified by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
- * check resource allocation in sr_init and some cleanups
+ * Modified by Jens Axboe <axboe@suse.de> - support DVD-RAM
+ * transparently and loose the GHOST hack
*
+ * Modified by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ * check resource allocation in sr_init and some cleanups
*/
-#include <linux/module.h>
+#define MAJOR_NR SCSI_CDROM_MAJOR
+#include <linux/module.h>
#include <linux/fs.h>
#include <linux/kernel.h>
#include <linux/sched.h>
@@ -45,29 +45,32 @@
#include <linux/cdrom.h>
#include <linux/interrupt.h>
#include <linux/init.h>
-#include <asm/system.h>
-#include <asm/io.h>
+#include <linux/blk.h>
#include <asm/uaccess.h>
-#define MAJOR_NR SCSI_CDROM_MAJOR
-#define LOCAL_END_REQUEST
-#include <linux/blk.h>
#include "scsi.h"
#include "hosts.h"
-#include "sr.h"
#include <scsi/scsi_ioctl.h> /* For the door lock/unlock commands */
+#include "sr.h"
+
+
MODULE_PARM(xa_test, "i"); /* see sr_ioctl.c */
#define MAX_RETRIES 3
#define SR_TIMEOUT (30 * HZ)
+#define SR_CAPABILITIES \
+ (CDC_CLOSE_TRAY|CDC_OPEN_TRAY|CDC_LOCK|CDC_SELECT_SPEED| \
+ CDC_SELECT_DISC|CDC_MULTI_SESSION|CDC_MCN|CDC_MEDIA_CHANGED| \
+ CDC_PLAY_AUDIO|CDC_RESET|CDC_IOCTLS|CDC_DRIVE_STATUS| \
+ CDC_CD_R|CDC_CD_RW|CDC_DVD|CDC_DVD_R|CDC_GENERIC_PACKET)
static int sr_init(void);
-static int sr_attach(Scsi_Device *);
-static int sr_detect(Scsi_Device *);
-static void sr_detach(Scsi_Device *);
+static int sr_attach(struct scsi_device *);
+static int sr_detect(struct scsi_device *);
+static void sr_detach(struct scsi_device *);
-static int sr_init_command(Scsi_Cmnd *);
+static int sr_init_command(struct scsi_cmnd *);
static struct Scsi_Device_Template sr_template = {
.module = THIS_MODULE,
@@ -83,19 +86,19 @@
.init_command = sr_init_command
};
-static Scsi_CD *scsi_CDs;
+static struct scsi_cd *scsi_CDs;
static int sr_open(struct cdrom_device_info *, int);
-static void get_sectorsize(Scsi_CD *);
-static void get_capabilities(Scsi_CD *);
-static int sr_init_one(Scsi_CD *, int);
+static void get_sectorsize(struct scsi_cd *);
+static void get_capabilities(struct scsi_cd *);
+static int sr_init_one(struct scsi_cd *, int);
static int sr_media_change(struct cdrom_device_info *, int);
static int sr_packet(struct cdrom_device_info *, struct cdrom_generic_command *);
static void sr_release(struct cdrom_device_info *cdi)
{
- Scsi_CD *cd = cdi->handle;
+ struct scsi_cd *cd = cdi->handle;
if (cd->device->sector_size > 2048)
sr_set_blocklength(cd, 2048);
@@ -106,28 +109,21 @@
__MOD_DEC_USE_COUNT(sr_template.module);
}
-static struct cdrom_device_ops sr_dops =
-{
- open: sr_open,
- release: sr_release,
- drive_status: sr_drive_status,
- media_changed: sr_media_change,
- tray_move: sr_tray_move,
- lock_door: sr_lock_door,
- select_speed: sr_select_speed,
- get_last_session: sr_get_last_session,
- get_mcn: sr_get_mcn,
- reset: sr_reset,
- audio_ioctl: sr_audio_ioctl,
- dev_ioctl: sr_dev_ioctl,
- capability: CDC_CLOSE_TRAY | CDC_OPEN_TRAY | CDC_LOCK |
- CDC_SELECT_SPEED | CDC_SELECT_DISC |
- CDC_MULTI_SESSION | CDC_MCN |
- CDC_MEDIA_CHANGED | CDC_PLAY_AUDIO |
- CDC_RESET | CDC_IOCTLS | CDC_DRIVE_STATUS |
- CDC_CD_R | CDC_CD_RW | CDC_DVD | CDC_DVD_R |
- CDC_DVD_RAM | CDC_GENERIC_PACKET,
- generic_packet: sr_packet,
+static struct cdrom_device_ops sr_dops = {
+ .open = sr_open,
+ .release = sr_release,
+ .drive_status = sr_drive_status,
+ .media_changed = sr_media_change,
+ .tray_move = sr_tray_move,
+ .lock_door = sr_lock_door,
+ .select_speed = sr_select_speed,
+ .get_last_session = sr_get_last_session,
+ .get_mcn = sr_get_mcn,
+ .reset = sr_reset,
+ .audio_ioctl = sr_audio_ioctl,
+ .dev_ioctl = sr_dev_ioctl,
+ .capability = SR_CAPABILITIES,
+ .generic_packet = sr_packet,
};
/*
@@ -142,7 +138,7 @@
int sr_media_change(struct cdrom_device_info *cdi, int slot)
{
- Scsi_CD *cd = cdi->handle;
+ struct scsi_cd *cd = cdi->handle;
int retval;
if (CDSL_CURRENT != slot) {
@@ -183,28 +179,29 @@
}
/*
- * rw_intr is the interrupt routine for the device driver. It will be notified on the
- * end of a SCSI read / write, and will take on of several actions based on success or failure.
+ * rw_intr is the interrupt routine for the device driver.
+ *
+ * It will be notified on the end of a SCSI read / write, and will take on
+ * of several actions based on success or failure.
*/
-
-static void rw_intr(Scsi_Cmnd * SCpnt)
+static void rw_intr(struct scsi_cmnd * SCpnt)
{
int result = SCpnt->result;
int this_count = SCpnt->bufflen >> 9;
int good_sectors = (result == 0 ? this_count : 0);
int block_sectors = 0;
- Scsi_CD *cd = SCpnt->request->rq_disk->private_data;
+ struct scsi_cd *cd = SCpnt->request->rq_disk->private_data;
#ifdef DEBUG
printk("sr.c done: %x %p\n", result, SCpnt->request->bh->b_data);
#endif
+
/*
- Handle MEDIUM ERRORs or VOLUME OVERFLOWs that indicate partial success.
- Since this is a relatively rare error condition, no care is taken to
- avoid unnecessary additional work such as memcpy's that could be avoided.
+ * Handle MEDIUM ERRORs or VOLUME OVERFLOWs that indicate partial
+ * success. Since this is a relatively rare error condition, no
+ * care is taken to avoid unnecessary additional work such as
+ * memcpy's that could be avoided.
*/
-
-
if (driver_byte(result) != 0 && /* An error occurred */
SCpnt->sense_buffer[0] == 0xF0 && /* Sense data is valid */
(SCpnt->sense_buffer[2] == MEDIUM_ERROR ||
@@ -243,15 +240,17 @@
scsi_io_completion(SCpnt, good_sectors, block_sectors);
}
-static int sr_init_command(Scsi_Cmnd * SCpnt)
+static int sr_init_command(struct scsi_cmnd * SCpnt)
{
int block=0, this_count, s_size, timeout = SR_TIMEOUT;
- Scsi_CD *cd = SCpnt->request->rq_disk->private_data;
+ struct scsi_cd *cd = SCpnt->request->rq_disk->private_data;
- SCSI_LOG_HLQUEUE(1, printk("Doing sr request, dev = %s, block = %d\n", cd->disk->disk_name, block));
+ SCSI_LOG_HLQUEUE(1, printk("Doing sr request, dev = %s, block = %d\n",
+ cd->disk->disk_name, block));
if (!cd->device || !cd->device->online) {
- SCSI_LOG_HLQUEUE(2, printk("Finishing %ld sectors\n", SCpnt->request->nr_sectors));
+ SCSI_LOG_HLQUEUE(2, printk("Finishing %ld sectors\n",
+ SCpnt->request->nr_sectors));
SCSI_LOG_HLQUEUE(2, printk("Retry with 0x%p\n", SCpnt));
return 0;
}
@@ -326,7 +325,8 @@
/*
* request doesn't start on hw block boundary, add scatter pads
*/
- if (((unsigned int)SCpnt->request->sector % (s_size >> 9)) || (SCpnt->request_bufflen % s_size)) {
+ if (((unsigned int)SCpnt->request->sector % (s_size >> 9)) ||
+ (SCpnt->request_bufflen % s_size)) {
printk("sr: unaligned transfer\n");
return 0;
}
@@ -335,9 +335,10 @@
SCSI_LOG_HLQUEUE(2, printk("%s : %s %d/%ld 512 byte blocks.\n",
- cd->cdi.name,
- (rq_data_dir(SCpnt->request) == WRITE) ? "writing" : "reading",
- this_count, SCpnt->request->nr_sectors));
+ cd->cdi.name,
+ (rq_data_dir(SCpnt->request) == WRITE) ?
+ "writing" : "reading",
+ this_count, SCpnt->request->nr_sectors));
SCpnt->cmnd[1] = 0;
block = (unsigned int)SCpnt->request->sector / (s_size >> 9);
@@ -392,26 +393,26 @@
static int sr_block_open(struct inode *inode, struct file *file)
{
- Scsi_CD *cd = inode->i_bdev->bd_disk->private_data;
+ struct scsi_cd *cd = inode->i_bdev->bd_disk->private_data;
return cdrom_open(&cd->cdi, inode, file);
}
static int sr_block_release(struct inode *inode, struct file *file)
{
- Scsi_CD *cd = inode->i_bdev->bd_disk->private_data;
+ struct scsi_cd *cd = inode->i_bdev->bd_disk->private_data;
return cdrom_release(&cd->cdi, file);
}
static int sr_block_ioctl(struct inode *inode, struct file *file, unsigned cmd,
unsigned long arg)
{
- Scsi_CD *cd = inode->i_bdev->bd_disk->private_data;
+ struct scsi_cd *cd = inode->i_bdev->bd_disk->private_data;
return cdrom_ioctl(&cd->cdi, inode, cmd, arg);
}
static int sr_block_media_changed(struct gendisk *disk)
{
- Scsi_CD *cd = disk->private_data;
+ struct scsi_cd *cd = disk->private_data;
return cdrom_media_changed(&cd->cdi);
}
@@ -426,7 +427,7 @@
static int sr_open(struct cdrom_device_info *cdi, int purpose)
{
- Scsi_CD *cd = cdi->handle;
+ struct scsi_cd *cd = cdi->handle;
if (!cd->device)
return -ENXIO; /* No such device */
@@ -454,7 +455,7 @@
return 0;
}
-static int sr_detect(Scsi_Device * SDp)
+static int sr_detect(struct scsi_device * SDp)
{
if (SDp->type != TYPE_ROM && SDp->type != TYPE_WORM)
@@ -463,9 +464,9 @@
return 1;
}
-static int sr_attach(Scsi_Device * SDp)
+static int sr_attach(struct scsi_device * SDp)
{
- Scsi_CD *cpnt;
+ struct scsi_cd *cpnt;
int i;
if (SDp->type != TYPE_ROM && SDp->type != TYPE_WORM)
@@ -491,7 +492,8 @@
panic("scsi_devices corrupt (sr)");
printk("Attached scsi CD-ROM %s at scsi%d, channel %d, id %d, lun %d\n",
- scsi_CDs[i].cdi.name, SDp->host->host_no, SDp->channel, SDp->id, SDp->lun);
+ scsi_CDs[i].cdi.name, SDp->host->host_no, SDp->channel,
+ SDp->id, SDp->lun);
return 0;
fail:
@@ -500,13 +502,13 @@
}
-static void get_sectorsize(Scsi_CD *cd)
+static void get_sectorsize(struct scsi_cd *cd)
{
unsigned char cmd[10];
unsigned char *buffer;
int the_result, retries = 3;
int sector_size;
- Scsi_Request *SRpnt = NULL;
+ struct scsi_request *SRpnt = NULL;
request_queue_t *queue;
buffer = kmalloc(512, GFP_DMA);
@@ -519,13 +521,13 @@
do {
cmd[0] = READ_CAPACITY;
memset((void *) &cmd[1], 0, 9);
- SRpnt->sr_request->rq_status = RQ_SCSI_BUSY; /* Mark as really busy */
+ /* Mark as really busy */
+ SRpnt->sr_request->rq_status = RQ_SCSI_BUSY;
SRpnt->sr_cmd_len = 0;
memset(buffer, 0, 8);
/* Do the command and wait.. */
-
SRpnt->sr_data_direction = SCSI_DATA_READ;
scsi_wait_req(SRpnt, (void *) cmd, (void *) buffer,
8, SR_TIMEOUT, MAX_RETRIES);
@@ -603,7 +605,7 @@
goto out;
}
-void get_capabilities(Scsi_CD *cd)
+void get_capabilities(struct scsi_cd *cd)
{
struct cdrom_generic_command cgc;
unsigned char *buffer;
@@ -656,11 +658,11 @@
printk("%s: scsi3-mmc drive: %dx/%dx %s%s%s%s%s%s\n", cd->cdi.name,
((buffer[n + 14] << 8) + buffer[n + 15]) / 176,
cd->cdi.speed,
- buffer[n + 3] & 0x01 ? "writer " : "", /* CD Writer */
+ buffer[n + 3] & 0x01 ? "writer " : "", /* CD Writer */
buffer[n + 3] & 0x20 ? "dvd-ram " : "",
- buffer[n + 2] & 0x02 ? "cd/rw " : "", /* can read rewriteable */
- buffer[n + 4] & 0x20 ? "xa/form2 " : "", /* can read xa/from2 */
- buffer[n + 5] & 0x01 ? "cdda " : "", /* can read audio data */
+ buffer[n + 2] & 0x02 ? "cd/rw " : "", /* can read rewriteable */
+ buffer[n + 4] & 0x20 ? "xa/form2 " : "", /* can read xa/from2 */
+ buffer[n + 5] & 0x01 ? "cdda " : "", /* can read audio data */
loadmech[buffer[n + 6] >> 5]);
if ((buffer[n + 6] >> 5) == 0)
/* caddy drives can't close tray... */
@@ -704,7 +706,8 @@
* sr_packet() is the entry point for the generic commands generated
* by the Uniform CD-ROM layer.
*/
-static int sr_packet(struct cdrom_device_info *cdi, struct cdrom_generic_command *cgc)
+static int sr_packet(struct cdrom_device_info *cdi,
+ struct cdrom_generic_command *cgc)
{
if (cgc->timeout <= 0)
cgc->timeout = IOCTL_TIMEOUT;
@@ -724,7 +727,8 @@
if (!sr_registered) {
if (register_blkdev(MAJOR_NR, "sr", &sr_bdops)) {
- printk("Unable to get major %d for SCSI-CD\n", MAJOR_NR);
+ printk("Unable to get major %d for SCSI-CD\n",
+ MAJOR_NR);
return 1;
}
sr_registered++;
@@ -733,10 +737,10 @@
return 0;
sr_template.dev_max = sr_template.dev_noticed + SR_EXTRA_DEVS;
- scsi_CDs = kmalloc(sr_template.dev_max * sizeof(Scsi_CD), GFP_ATOMIC);
+ scsi_CDs = kmalloc(sr_template.dev_max * sizeof(struct scsi_cd), GFP_ATOMIC);
if (!scsi_CDs)
goto cleanup_dev;
- memset(scsi_CDs, 0, sr_template.dev_max * sizeof(Scsi_CD));
+ memset(scsi_CDs, 0, sr_template.dev_max * sizeof(struct scsi_cd));
for (i = 0; i < sr_template.dev_max; i++)
sprintf(scsi_CDs[i].cdi.name, "sr%d", i);
return 0;
@@ -747,7 +751,7 @@
return 1;
}
-static int sr_init_one(Scsi_CD *cd, int first_minor)
+static int sr_init_one(struct scsi_cd *cd, int first_minor)
{
struct gendisk *disk;
@@ -799,9 +803,9 @@
return 0;
}
-static void sr_detach(Scsi_Device * SDp)
+static void sr_detach(struct scsi_device * SDp)
{
- Scsi_CD *cpnt;
+ struct scsi_cd *cpnt;
int i;
for (cpnt = scsi_CDs, i = 0; i < sr_template.dev_max; i++, cpnt++) {
===== drivers/scsi/sr.h 1.6 vs edited =====
--- 1.6/drivers/scsi/sr.h Sun Oct 6 16:06:49 2002
+++ edited/drivers/scsi/sr.h Sun Oct 27 16:58:21 2002
@@ -24,7 +24,7 @@
/* In fact, it is very slow if it has to spin up first */
#define IOCTL_TIMEOUT 30*HZ
-typedef struct {
+typedef struct scsi_cd {
unsigned capacity; /* size in blocks */
Scsi_Device *device;
unsigned int vendor; /* vendor code, see sr_vendor.c */
===== drivers/scsi/sr_ioctl.c 1.21 vs edited =====
--- 1.21/drivers/scsi/sr_ioctl.c Thu Oct 17 13:52:39 2002
+++ edited/drivers/scsi/sr_ioctl.c Sun Oct 27 17:02:51 2002
@@ -5,15 +5,14 @@
#include <asm/uaccess.h>
#include <linux/errno.h>
#include <linux/string.h>
-#include <linux/buffer_head.h> /* for invalidate_buffers() */
-
#include <linux/blk.h>
#include <linux/blkpg.h>
+#include <linux/cdrom.h>
+
#include "scsi.h"
#include "hosts.h"
#include <scsi/scsi_ioctl.h>
-#include <linux/cdrom.h>
#include "sr.h"
#if 0
@@ -76,8 +75,8 @@
int sr_do_ioctl(Scsi_CD *cd, struct cdrom_generic_command *cgc)
{
- Scsi_Request *SRpnt;
- Scsi_Device *SDev;
+ struct scsi_request *SRpnt;
+ struct scsi_device *SDev;
struct request *req;
int result, err = 0, retries = 0;
char *bounce_buffer;
@@ -555,21 +554,3 @@
Scsi_CD *cd = cdi->handle;
return scsi_ioctl(cd->device, cmd, (void *)arg);
}
-
-/*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only. This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-indent-level: 4
- * c-brace-imaginary-offset: 0
- * c-brace-offset: -4
- * c-argdecl-indent: 4
- * c-label-offset: -4
- * c-continued-statement-offset: 4
- * c-continued-brace-offset: 0
- * tab-width: 8
- * End:
- */
^ permalink raw reply
* IDEA FOR NEW TARGET
From: C.Shelley-02 @ 2002-10-27 17:26 UTC (permalink / raw)
To: netfilter-devel
Developers,
I have had an idea for a new target for moifying the TCP flags of a packet.
It may sound a bit odd to do this, but thought it could be used to bypass
firewalls etc. As you know most firewalls drop incomming packets with just the
SYN flag set, thus preventing the initiation of incoming connections.
(This prevents me from SSHing to my box at uni when I am at home.)
But if the SYN packet was modified before sending, ie to have different flags
set, it would bypass the firewall.
(i know nmap can penetrate the firewall using similar method)
The packet must then be de-mangled by the box behind the firewall using the
same target.
Do you think it will work?
(i am not yet on this list, so please send me an additional reply)
--Craig Shelley
^ permalink raw reply
* (no subject)
From: C.Shelley-02 @ 2002-10-27 17:25 UTC (permalink / raw)
To: netfilter-devel
Developers,
I have had an idea for a new target for moifying the TCP flags of a packet.
It may sound a bit odd to do this, but thought it could be used to bypass
firewalls etc. As you know most firewalls drop incomming packets with just the
SYN flag set, thus preventing the initiation of incoming connections.
(This prevents me from SSHing to my box at uni when I am at home.)
But if the SYN packet was modified before sending, ie to have different flags
set, it would bypass the firewall.
(i know nmap can penetrate the firewall using similar method)
The packet must then be de-mangled by the box behind the firewall using the
same target.
Do you think it will work?
(i am not yet on this list, so please send me an additional reply)
--Craig Shelley
^ permalink raw reply
* Re: [LARTC] CBQ broken in RedHat 8.0?
From: David Boreham @ 2002-10-27 17:23 UTC (permalink / raw)
To: lartc
In-Reply-To: <marc-lartc-103567646931154@msgid-missing>
> >Why upgrading your SUSE? You can also download 2.4.19 from
ftp.kernel.org
> > and patch with the lates htb patch ??
I find that inserting a stock kernel into a machine originally
running a distro (RH, Mandrake etc) is often a painful and
unrewarding experience.
My personal preference these days is to get the source RPM
for the kernel for the target distro. Then modify the spec file
to patch the kernel the way I want it (e.g. Mandrake 8.2 you
must _remove_ the HTB2 patches, and add the HTB3 patches
and the IMQ patches). Build the RPM and you now have a
way to upgrade the kernel and modules on any machine running
that distro, guaranteed to work with the user space code, since
the kernel is identical to what was there before, modulo the desired
patches.
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply
* Re: [Linux-ia64] quick ia64 patch for 2.5.44 (UP only)
From: Erich Focht @ 2002-10-27 17:13 UTC (permalink / raw)
To: linux-ia64
In-Reply-To: <marc-linux-ia64-105590709805243@msgid-missing>
Hi Kimi,
On Saturday 26 October 2002 03:09, Kimio Suganuma wrote:
> I succeeded to boot the kernel on 8way ia64 box by
> porting the generic percpu (i.e. i386's percpu) to ia64.
> I think this should not right way to fix the problem.
> I can show the patch if there is a requirement.
yes, please send the patch. I'd like to test something on 2.5.44
on Azusa on Monday.
Regards,
Erich
^ permalink raw reply
* Re: [LARTC] CBQ broken in RedHat 8.0?
From: Robert Davidson @ 2002-10-27 17:08 UTC (permalink / raw)
To: lartc
In-Reply-To: <marc-lartc-103567646931154@msgid-missing>
On Sunday 27 October 2002 04:09, Stef Coene wrote:
>Why upgrading your SUSE? You can also download 2.4.19 from ftp.kernel.org
> and patch with the lates htb patch ??
What better way to support the distro I know how to use and avoid hairy
compiling problems? SuSE has 7.3 kernel rpms available for 2.4.16, but not
2.4.17, so I decided to go ahead. It is just a test server in any case - no
worrying about reconfiguring.
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply
* Re: kernel BUG at drivers/serial/core.c:1067 with 2.5.44
From: Russell King @ 2002-10-27 17:12 UTC (permalink / raw)
To: Alex Romosan; +Cc: linux-kernel
In-Reply-To: <87adkzde90.fsf@sycorax.lbl.gov>
On Sun, Oct 27, 2002 at 08:43:07AM -0800, Alex Romosan wrote:
> i am not sure what this means. i am running debian unstable. i just
> realized i ran ksymoops with the -x option (if it makes any difference
> i can resend the oops without -x).
Firstly, you need klogd running with -x so the numbers within [< and >]
are preserved. It is a shame that these distributions still run klogd
without -x.
> > 2. your ksymoops doesn't seem to know what modules are loaded.
>
> isn't this the list of modules loaded at the time?
>
> Oct 27 07:39:54 trinculo kernel: 3c574_cs irtty irda autofs4 microcode
> ppp_async uhci-hcd ohci-hcd usbcore nls_cp437 vfat snd-pcm-oss
> snd-mixer-oss snd-ymfpci snd-pcm snd-mpu401-uart snd-rawmidi
> snd-ac97-codec snd-opl3-lib snd-timer snd-hwdep snd-seq-device
> snd soundcore
This is a line from the kernel which ksymoops can't interpret.
ksymoops needs to know which modules are loaded, and where they
are loaded so it can give accurate call trace information.
BTW, an even better option would be to enable CONFIG_KALLSYMS.
--
Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html
^ permalink raw reply
* Re: [PATCH][RFC] x86 multiple user-mode privilege rings
From: Eric W. Biederman @ 2002-10-27 17:06 UTC (permalink / raw)
To: Luca Barbieri; +Cc: Linux-Kernel ML
In-Reply-To: <1035686893.2272.20.camel@ldb>
Luca Barbieri <ldb@ldb.ods.org> writes:
> Short explaination:
> This patch implements a feature called "x86 multiring", which is a
> shorthand for x86 multiple user-mode privilege rings support.
> It allows user-mode programs to create DPL 1 and 2 segments and get a
> modifiable per-process copy of IDT.
>
> User Mode Linux can use these features to implement a syscall mechanism
> identical to the one used by the kernel-mode kernel, and thus much
> faster than the current one, with free memory protection and with zero
> context switches.
But there are privilege switches.
> Wine could also use it to achieve fast syscall-level emulation of
> Windows NT (and, to a lesser extent, Windows 3.1 and 9x).
>
> Obviously there is some risk of the patch creating security holes.
Let me get the gist of the idea.
To accelerate UML, and wine type applications:
1) setup segments with restricted limits, so their children cannot
write into their supervisor process even though they share a mm.
2) load a special system call table that switches processor modes
when any system call is activated.
Unless I am mistaken all of the above can be accomplished without
using the cpus multiple rings of privilege. Which would allow nesting
only limited by the address space reduction of each task.
Eric
^ permalink raw reply
* RE: Problem with ACPI on Abit KT7,HPT370
From: Arthur Aldridge @ 2002-10-27 17:08 UTC (permalink / raw)
To: linux-kernel
I'm running a KT7-Raid with bios A9.
After rebuilding my kernel yesterday (2.4.19-gentoo-r9) with
ACPI I ran into this same issue. I noted that at that time the
devices attached to the HPT370 were reporting at DMA 2.
I realized I'd turned the IDE cables around.
After fixing that the system worked fine. Early this morning I
decided to move the DVD drive to a different system and replaced
it with an older Samsung CD-ROM and I haven't been able to boot
since. The only change besides the CD-ROM is that my bios
setting were reset and perhaps I don't have exactly the same
settings. Alt-SysRq+b responds, and if I disable the HPT370 the
system boots without issue. I've tried disconnecting the CD-ROM
and disabling DMA at boot, none of which is working.....
I suppose I'll just go back with the HPT370 disabled and compile
a non-acpi kernel to see if it starts working again but this is baffle
the bejesus out of me.
>Dominik Geisel (dominik_at_geisel.info) Wrote:
>
>I tried 2.4.10-ac10 with your config and played around with all possible
>BIOS settings...the problem persists.
>Also, I am now quite sure it broke with BIOS version 3R.
>>On Mon, Oct 08, 2001 at 10:35:42PM +0200, Dominik Thinay wrote:
>> with kernel 2.4.11-pre3-xfs + i2c CVS-patch + lmsensors it works fine
on my
>> system (Abit Bios KT7_49B0)
>> CONFIG_PM=y
>> CONFIG_ACPI=y
>> CONFIG_ACPI_DEBUG=y
>> CONFIG_ACPI_BUSMGR=y
>> CONFIG_ACPI_SYS=y
>> CONFIG_ACPI_CPU=y
>> CONFIG_ACPI_BUTTON=y
>>
>> I remember disabled sth in the bios ...but i have forget ... :(
--
Arthur Aldridge
Sun Certified Solaris Admin
aj@yasashi.net
^ permalink raw reply
* Re: [BUG]Kernel Panic while booting 2.5.44
From: Andreas Tscharner @ 2002-10-27 17:04 UTC (permalink / raw)
To: Alan Cox; +Cc: Linux Kernel Mailinglist
In-Reply-To: <1035727813.30551.17.camel@irongate.swansea.linux.org.uk>
On 27 Oct 2002 14:10:13 +0000
Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> On Sun, 2002-10-27 at 13:33, Andreas Tscharner wrote:
> > Hello World,
> >
> > I got a Kernel Panic when I try to boot 2.5.44. Bug output and
> > configuration below. GCC version 2.95.4
> >
> >
> > kernel BUG at kernel/workqueue.c:69!
> > invalid operand: 0000
>
> Does this help ?
>
[patch snipped]
Well, somewhat, yes.
Actually I don't know what's happening. The bug I described first does
not appear any more, but now I have o lot more errors and call traces,
so my screen looks like this finally:
[<c01293db>] generic_file_read+0x7b/0x9c
[<c0146b24>] vfs_follow_link+0x11c/0x180
[<c014c419>] dput+0x19/0x184
[<c012d03a>] kmem_cache_alloc+0x26/0x1b0
[<c013ab30>] get_empty_filp+0x130/0x194
[<c013aa4f>] get_empty_filp+0x4f/0x194
[<c0138e99>] dentry_open+0xb9/0x16c
[<c0139981>] vfs_read+0x1c/0x158
[<c01418f8>] kernel_read+0x40/0x4c
[<c0157e90>] load_elf_binary+0x2ec/0xb08
[<c0157ba4>] load_elf_binary+0x0/0xb08
[<c01300e1>] __alloc_pages+0x81/0x23c
[<c0142452>] search_binary_handler+0x96/0x200
[<c0142760>] do_execve>011a4/0x250
[<c0142777>] do_execve+0x1bb/0x250
[<c0105b0f>] sys_execve+0x2f/0x60
[<c0106fcb>] syscall_call+0x7/0xb
[<c0110068>] free_initmem+0x54/0x7c
[<c0105165>] init+0x10d/0x178
[<c0105058>] init+0x0/0x178
[<c01054b9>] kernel_thread_helper+0x5/0xc
bad: scheduling while atomic!
Call Trace
[<c01118b1>] schedule+0x3d/0x2d8
[<c0106ff2>] work_resched+0x5/0x16
[<c01054b9>] kernel_thread_helper+0x5/0xc
Unable to handle kernel paging request at virtual address 40000b50
printing eip:
40000b50
*pde=00000000
Oops: 0004
CPU: 0
EIP: 0023:[<40000b50>] Not tainted
EFLAGS: 00010246
eax: 00000000 ebx: 00000000 ecx: 00000000 edx: 00000000
esi: 00000000 edi: 00000000 ebp: 00000000 esp: bfffff10
ds: 002b es: 002b ss: 002b
Process init (pid: 1, threadinfo=dffc6000 task=dffc4040)
<0>Kernep panic: Attempted to kill init!
I have also slightly changed my configuration and took out all power
management stuff:
#
# Automatically generated by make menuconfig: don't edit
#
CONFIG_X86=y
# CONFIG_SBUS is not set
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
#
# General setup
#
CONFIG_NET=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y
#
# Processor type and features
#
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
CONFIG_MPENTIUMIII=y
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MELAN is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MCYRIXIII is not set
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_SMP is not set
CONFIG_PREEMPT=y
# CONFIG_X86_UP_APIC is not set
# CONFIG_X86_UP_IOAPIC is not set
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_NONFATAL is not set
# CONFIG_X86_MCE_P4THERMAL is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
# CONFIG_EDD is not set
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
CONFIG_HAVE_DEC_LOCK=y
#
# Power management options (ACPI, APM)
#
#
# ACPI Support
#
# CONFIG_ACPI is not set
# CONFIG_PM is not set
# CONFIG_APM is not set
#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
# CONFIG_SCx200 is not set
CONFIG_PCI_NAMES=y
# CONFIG_ISA is not set
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_HOTPLUG is not set
# CONFIG_PCMCIA is not set
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats
#
CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Parallel port support
#
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_PARPORT_PC_CML1=y
# CONFIG_PARPORT_SERIAL is not set
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_AMIGA is not set
# CONFIG_PARPORT_MFC3 is not set
# CONFIG_PARPORT_ATARI is not set
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_SUNBPP is not set
# CONFIG_PARPORT_OTHER is not set
CONFIG_PARPORT_1284=y
#
# Plug and Play configuration
#
# CONFIG_PNP is not set
# CONFIG_PNP_NAMES is not set
# CONFIG_PNP_DEBUG is not set
# CONFIG_ISAPNP is not set
# CONFIG_PNPBIOS is not set
#
# Block devices
#
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_CISS_SCSI_TAPE is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_LBD is not set
#
# ATA/ATAPI/MFM/RLL device support
#
CONFIG_IDE=y
#
# IDE, ATA and ATAPI Block devices
#
CONFIG_BLK_DEV_IDE=y
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
# CONFIG_IDEDISK_STROKE is not set
# CONFIG_BLK_DEV_IDECS is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_BLK_DEV_IDESCSI=m
# CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_ISAPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDE_TCQ is not set
# CONFIG_BLK_DEV_IDE_TCQ_DEFAULT is not set
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set
# CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_WDC_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_AMD74XX_OVERRIDE is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_HPT34X_AUTODMA is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NFORCE is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_PDC202XX_BURST is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_PDC202XX_FORCE is not set
# CONFIG_BLK_DEV_RZ1000 is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_IDEDMA_IVB is not set
# CONFIG_DMA_NONPCI is not set
CONFIG_BLK_DEV_IDE_MODES=y
#
# SCSI device support
#
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_SD_EXTRA_DEVS=40
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
CONFIG_CHR_DEV_SG=y
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_REPORT_LUNS is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
CONFIG_SCSI_PPA=y
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_NCR53C7xx is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_NCR53C8XX is not set
# CONFIG_SCSI_SYM53C8XX is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_BLK_DEV_LVM is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_BOOT is not set
# CONFIG_FUSION_ISENSE is not set
# CONFIG_FUSION_CTL is not set
# CONFIG_FUSION_LAN is not set
#
# IEEE 1394 (FireWire) support (EXPERIMENTAL)
#
# CONFIG_IEEE1394 is not set
#
# I2O device support
#
# CONFIG_I2O is not set
# CONFIG_I2O_PCI is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_LAN is not set
# CONFIG_I2O_SCSI is not set
# CONFIG_I2O_PROC is not set
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK_DEV is not set
# CONFIG_NETFILTER is not set
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
# CONFIG_SYN_COOKIES is not set
CONFIG_IPV6=m
#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IPV6_SCTP__=m
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_LLC is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_DEV_APPLETALK is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Network device support
#
CONFIG_NETDEVICES=y
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_SUNLANCE is not set
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNBMAC is not set
# CONFIG_SUNQE is not set
# CONFIG_SUNGEM is not set
CONFIG_NET_VENDOR_3COM=y
# CONFIG_EL1 is not set
# CONFIG_EL2 is not set
# CONFIG_ELPLUS is not set
# CONFIG_EL16 is not set
# CONFIG_ELMC is not set
# CONFIG_ELMC_II is not set
CONFIG_VORTEX=y
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_PCI is not set
# CONFIG_NET_POCKET is not set
#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_E1000_NAPI is not set
# CONFIG_MYRI_SBUS is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# Token Ring devices
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set
#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set
#
# ISDN subsystem
#
# CONFIG_ISDN_BOOL is not set
#
# Telephony Support
#
# CONFIG_PHONE is not set
# CONFIG_PHONE_IXJ is not set
# CONFIG_PHONE_IXJ_PCMCIA is not set
#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
# CONFIG_GAMEPORT_NS558 is not set
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_VORTEX is not set
# CONFIG_GAMEPORT_FM801 is not set
# CONFIG_GAMEPORT_CS461x is not set
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not set
# CONFIG_MOUSE_PC110PAD is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_JOYSTICK_ANALOG is not set
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
# CONFIG_JOYSTICK_IFORCE is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDDLER is not set
# CONFIG_JOYSTICK_DB9 is not set
# CONFIG_JOYSTICK_GAMECON is not set
# CONFIG_JOYSTICK_TURBOGRAFX is not set
# CONFIG_INPUT_JOYDUMP is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
# CONFIG_INPUT_MISC is not set
# CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_UINPUT is not set
#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_CONSOLE is not set
# CONFIG_SERIAL_8250_CS is not set
# CONFIG_SERIAL_8250_EXTENDED is not set
# CONFIG_SERIAL_8250_MANY_PORTS is not set
# CONFIG_SERIAL_8250_SHARE_IRQ is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_MULTIPORT is not set
# CONFIG_SERIAL_8250_RSA is not set
CONFIG_SERIAL_CORE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
CONFIG_PRINTER=y
# CONFIG_LP_CONSOLE is not set
# CONFIG_PPDEV is not set
# CONFIG_TIPAR is not set
#
# I2C support
#
# CONFIG_I2C is not set
#
# Mice
#
# CONFIG_BUSMOUSE is not set
# CONFIG_QIC02_TAPE is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
CONFIG_INTEL_RNG=y
# CONFIG_AMD_RNG is not set
# CONFIG_NVRAM is not set
CONFIG_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
CONFIG_AGP=y
CONFIG_AGP_INTEL=y
# CONFIG_AGP_I810 is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_AMD_8151 is not set
CONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_I810 is not set
# CONFIG_DRM_I830 is not set
# CONFIG_DRM_MGA is not set
# CONFIG_MWAVE is not set
# CONFIG_SCx200_GPIO is not set
# CONFIG_RAW_DRIVER is not set
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# File systems
#
# CONFIG_QUOTA is not set
# CONFIG_QFMT_V1 is not set
# CONFIG_QFMT_V2 is not set
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=y
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_ADFS_FS is not set
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_BFS_FS is not set
CONFIG_EXT3_FS=m
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_FAT_FS=m
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
CONFIG_VFAT_FS=m
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_TMPFS is not set
CONFIG_RAMFS=y
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
# CONFIG_ZISOFS is not set
# CONFIG_JFS_FS is not set
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
# CONFIG_DEVFS_DEBUG is not set
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX4FS_RW is not set
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
CONFIG_UDF_FS=m
# CONFIG_UDF_RW is not set
# CONFIG_UFS_FS is not set
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_XFS_FS is not set
# CONFIG_XFS_RT is not set
# CONFIG_XFS_QUOTA is not set
#
# Network File Systems
#
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
# CONFIG_NFS_FS is not set
# CONFIG_NFS_V3 is not set
# CONFIG_NFS_V4 is not set
# CONFIG_ROOT_NFS is not set
# CONFIG_NFSD is not set
# CONFIG_NFSD_V3 is not set
# CONFIG_NFSD_V4 is not set
# CONFIG_NFSD_TCP is not set
# CONFIG_SUNRPC is not set
# CONFIG_LOCKD is not set
# CONFIG_EXPORTFS is not set
# CONFIG_CIFS is not set
# CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not set
# CONFIG_NCPFS_NFS_NS is not set
# CONFIG_NCPFS_OS2_NS is not set
# CONFIG_NCPFS_SMALLDOS is not set
# CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not set
# CONFIG_AFS_FS is not set
# CONFIG_ZISOFS_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_SMB_NLS is not set
CONFIG_NLS=y
#
# Native Language Support
#
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=m
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
CONFIG_NLS_CODEPAGE_850=m
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
CONFIG_NLS_ISO8859_15=m
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
#
# Console drivers
#
CONFIG_VGA_CONSOLE=y
CONFIG_VIDEO_SELECT=y
# CONFIG_MDA_CONSOLE is not set
#
# Frame-buffer support
#
# CONFIG_FB is not set
#
# Sound
#
CONFIG_SOUND=y
#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_SEQUENCER=m
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
# CONFIG_SND_DEBUG_MEMORY is not set
# CONFIG_SND_DEBUG_DETECT is not set
#
# Generic devices
#
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
#
# PCI devices
#
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS46XX_NEW_DSP is not set
# CONFIG_SND_CS4281 is not set
CONFIG_SND_EMU10K1=m
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
#
# ALSA USB devices
#
# CONFIG_SND_USB_AUDIO is not set
#
# USB support
#
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_DEVICEFS is not set
# CONFIG_USB_LONG_TIMEOUT is not set
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_OHCI_HCD is not set
CONFIG_USB_UHCI_HCD_ALT=y
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_BLUETOOTH_TTY is not set
# CONFIG_USB_MIDI is not set
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_HP8200e is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_HID is not set
# CONFIG_USB_HIDINPUT is not set
# CONFIG_HID_FF is not set
# CONFIG_HID_PID is not set
# CONFIG_LOGITECH_FF is not set
# CONFIG_USB_HIDDEV is not set
#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_SCANNER is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set
# CONFIG_USB_DABUSB is not set
# CONFIG_USB_VICAM is not set
# CONFIG_USB_DSBR is not set
# CONFIG_USB_IBMCAM is not set
# CONFIG_USB_KONICAWC is not set
# CONFIG_USB_OV511 is not set
# CONFIG_USB_PWC is not set
# CONFIG_USB_SE401 is not set
# CONFIG_USB_STV680 is not set
# CONFIG_USB_CATC is not set
# CONFIG_USB_CDCETHER is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_USS720 is not set
#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set
# CONFIG_USB_SERIAL_GENERIC is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_EMPEG is not set
# CONFIG_USB_SERIAL_FTDI_SIO is not set
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OMNINET is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_TIGL is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_BRLVGER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_SPEEDTOUCH is not set
# CONFIG_USB_TEST is not set
#
# Bluetooth support
#
# CONFIG_BT is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
# CONFIG_SOFTWARE_SUSPEND is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
CONFIG_DEBUG_SLAB=y
# CONFIG_DEBUG_IOVIRT is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SPINLOCK is not set
CONFIG_KALLSYMS=y
#
# Security options
#
CONFIG_SECURITY_CAPABILITIES=y
#
# Library routines
#
# CONFIG_CRC32 is not set
# CONFIG_ZLIB_INFLATE is not set
# CONFIG_ZLIB_DEFLATE is not set
CONFIG_X86_BIOS_REBOOT=y
Regards
Andreas
--
Andreas Tscharner starfire@dplanet.ch
----------------------------------------------------------------------
"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs, and the Universe trying
to produce bigger and better idiots. So far, the Universe is winning."
-- Rich Cook
^ permalink raw reply
* Re: [PATCH] unified SysV and Posix mqueues as FS
From: Manfred Spraul @ 2002-10-27 16:55 UTC (permalink / raw)
To: Peter Waechtler; +Cc: linux-kernel
> - notification not tested
> - still linear search in queues
Is that a problem? Receive does one linear search of the queued
messages, send does one linear search of the waiting receivers. Both
lists should be short.
Could you split your patch into the functional changes and cleanup?
(const, size_t, you move a few definitions around, whitespace cleanups)
I don't like the deep integration of the mqueues into the sysv code - is
that really needed?
For example, you add the mqueue messages into the sysv array, and then
add lots of code to separate both again - IPC_RMID cannot remove posix
queues, etc.
Have you tried to separate both further? Create a ramfs like filesystem,
store msg_queue in the inode structure?
The ids array is only for sysv, only the actual message handling is
shared between sysv msg and posix mqueues
> + msq->q_flags |= MSG_UNLK;
Is a "unlinked" flag needed for sysv msg? When a message queue is
deleted, all pending writes and reads are cancleled.
Copy and paste from shm? shm needs unlinked handling, msg doesn't.
> + msq->q_perm.key = IPC_PRIVATE; /* Do not find it any more */
Does that work? The key is only needed for msgget(), not for msgsnd() or
msgrcv()
> + msg_unlock (inode->i_ino);
--
Manfred
^ permalink raw reply
* Re: [Linux-ia64] quick ia64 patch for 2.5.44 (UP only)
From: Kimio Suganuma @ 2002-10-27 16:42 UTC (permalink / raw)
To: linux-ia64
In-Reply-To: <marc-linux-ia64-105590709805243@msgid-missing>
[-- Attachment #1: Type: text/plain, Size: 643 bytes --]
Hi Erich,
Here is the patch.
I changed cpu_init() in setup.c so that BSP prepares
per_cpu data for all CPUS.
Regards,
Kimi
On Sun, 27 Oct 2002 18:13:31 +0100
Erich Focht <efocht@ess.nec.de> wrote:
> Hi Kimi,
>
> On Saturday 26 October 2002 03:09, Kimio Suganuma wrote:
> > I succeeded to boot the kernel on 8way ia64 box by
> > porting the generic percpu (i.e. i386's percpu) to ia64.
> > I think this should not right way to fix the problem.
> > I can show the patch if there is a requirement.
>
> yes, please send the patch. I'd like to test something on 2.5.44
> on Azusa on Monday.
--
Kimio Suganuma <k-suganuma@mvj.biglobe.ne.jp>
[-- Attachment #2: smp_fix-2.5.44.patch --]
[-- Type: application/octet-stream, Size: 3822 bytes --]
diff -Nur linux-2.5.44/arch/ia64/kernel/setup.c linux-2.5.44-new/arch/ia64/kernel/setup.c
--- linux-2.5.44/arch/ia64/kernel/setup.c Fri Oct 25 18:22:51 2002
+++ linux-2.5.44-new/arch/ia64/kernel/setup.c Fri Oct 25 19:17:49 2002
@@ -618,53 +618,40 @@
unsigned long num_phys_stacked;
pal_vm_info_2_u_t vmi;
unsigned int max_ctx;
- struct cpuinfo_ia64 *my_cpu_info;
- void *my_cpu_data;
+ struct cpuinfo_ia64 *cpu_info;
+ void *cpu_data;
#ifdef CONFIG_SMP
extern char __per_cpu_end[];
- int cpu = smp_processor_id();
+ int cpu;
if (__per_cpu_end - __per_cpu_start > PAGE_SIZE)
panic("Per-cpu data area too big! (%Zu > %Zu)",
__per_cpu_end - __per_cpu_start, PAGE_SIZE);
-# ifdef CONFIG_NUMA
- {
- static unsigned long boot_cpu_data;
-
- /*
- * get_free_pages() cannot be used before cpu_init() done. BSP allocates
- * "NR_CPUS" pages for all CPUs to avoid that AP calls get_zeroed_page().
- */
- if (cpu == 0)
- boot_cpu_data = (unsigned long)alloc_bootmem_pages(PAGE_SIZE * NR_CPUS);
- my_cpu_data = (void *)(boot_cpu_data + (cpu * PAGE_SIZE));
-
- memcpy(my_cpu_data, __phys_per_cpu_start, __per_cpu_end - __per_cpu_start);
- __per_cpu_offset[cpu] = (char *) my_cpu_data - __per_cpu_start;
- my_cpu_info = my_cpu_data + ((char *) &__get_cpu_var(cpu_info) - __per_cpu_start);
- my_cpu_info->node_data = get_node_data_ptr();
- my_cpu_info->nodeid = boot_get_local_nodeid();
- }
-# else /* !CONFIG_NUMA */
/*
- * On the BSP, the page allocator isn't initialized by the time we get here. On
- * the APs, the bootmem allocator is no longer available...
+ * get_free_pages() cannot be used before cpu_init() done. BSP allocates
+ * "NR_CPUS" pages for all CPUs to avoid that AP calls get_zeroed_page().
*/
- if (cpu == 0)
- my_cpu_data = alloc_bootmem_pages(__per_cpu_end - __per_cpu_start);
- else
- my_cpu_data = (void *) get_zeroed_page(GFP_KERNEL);
- memcpy(my_cpu_data, __phys_per_cpu_start, __per_cpu_end - __per_cpu_start);
- __per_cpu_offset[cpu] = (char *) my_cpu_data - __per_cpu_start;
- my_cpu_info = my_cpu_data + ((char *) &__get_cpu_var(cpu_info) - __per_cpu_start);
-# endif /* !CONFIG_NUMA */
+ if (smp_processor_id() == 0) {
+ cpu_data = (unsigned long)alloc_bootmem_pages(PAGE_SIZE * NR_CPUS);
+ for (cpu = 0; cpu < NR_CPUS; cpu++) {
+ memcpy(cpu_data, __phys_per_cpu_start, __per_cpu_end - __per_cpu_start);
+ __per_cpu_offset[cpu] = (char *) cpu_data - __per_cpu_start;
+ cpu_data += PAGE_SIZE;
+ }
+ }
+ cpu_data = __per_cpu_start + __per_cpu_offset[smp_processor_id()];
#else /* !CONFIG_SMP */
- my_cpu_data = __phys_per_cpu_start;
+ cpu_data = __phys_per_cpu_start;
#endif /* !CONFIG_SMP */
- my_cpu_info = my_cpu_data + ((char *) &__get_cpu_var(cpu_info) - __per_cpu_start);
+
+ cpu_info = cpu_data + ((char *) &__get_cpu_var(cpu_info) - __per_cpu_start);
+#ifdef CONFIG_NUMA
+ cpu_info->node_data = get_node_data_ptr();
+ cpu_info->nodeid = boot_get_local_nodeid();
+#endif
/*
* We can't pass "local_cpu_data" to identify_cpu() because we haven't called
@@ -672,14 +659,14 @@
* depends on the data returned by identify_cpu(). We break the dependency by
* accessing cpu_data() the old way, through identity mapped space.
*/
- identify_cpu(my_cpu_info);
+ identify_cpu(cpu_info);
#ifdef CONFIG_MCKINLEY
{
# define FEATURE_SET 16
struct ia64_pal_retval iprv;
- if (my_cpu_info->family == 0x1f) {
+ if (cpu_info->family == 0x1f) {
PAL_CALL_PHYS(iprv, PAL_PROC_GET_FEATURES, 0, FEATURE_SET, 0);
if ((iprv.status == 0) && (iprv.v0 & 0x80) && (iprv.v2 & 0x80))
PAL_CALL_PHYS(iprv, PAL_PROC_SET_FEATURES,
@@ -710,7 +697,7 @@
if (current->mm)
BUG();
- ia64_mmu_init(my_cpu_data);
+ ia64_mmu_init(cpu_data);
#ifdef CONFIG_IA32_SUPPORT
/* initialize global ia32 state - CR0 and CR4 */
^ permalink raw reply
* Re: [Linux-ia64] ia64 2.5.44 make dep offsets.h not found
From: David Mosberger @ 2002-10-27 16:41 UTC (permalink / raw)
To: linux-ia64
In-Reply-To: <marc-linux-ia64-105590709805245@msgid-missing>
>>>>> On Fri, 25 Oct 2002 18:20:02 +1000, Keith Owens <kaos@ocs.com.au> said:
Keith> On Thu, 24 Oct 2002 22:35:37 -0700, David Mosberger
Keith> <davidm@napali.hpl.hp.com> wrote:
>> A quick patch that gets 2.5.44 (mostly) working on ia64 is now at
>> ftp.kernel.org/pub/linux/kernel/ports/ia64/v2.5/ in file:
>>
>> linux-2.5.44-ia64-021024.diff.gz
Keith> If you start from a clean Linus 2.5.44 and apply the above
Keith> patch then include/asm-ia64/offsets.h does not exist. All
Keith> asm-*/offsets.h files have been deleted from the base
Keith> tarball, they are generated files.
Try "make dep" first. That should generate offsets.h.
--david
^ permalink raw reply
* Re: [PATCH] fix sector_div use in scsicam.c
From: Christoph Hellwig @ 2002-10-27 16:37 UTC (permalink / raw)
To: James Bottomley; +Cc: Christoph Hellwig, linux-scsi
In-Reply-To: <200210271634.g9RGYAY11441@localhost.localdomain>
On Sun, Oct 27, 2002 at 10:34:09AM -0600, James Bottomley wrote:
> > - ip[2] = sector_div(capacity, ip[0] * ip[1]);
> > + sector_div(capacity, ip[0] * ip[1]);
> > + ip[2] = capacity;
>
> Now you've lost your optimisation. The second sector_div should be inside the
> if.
Next try:
--- 1.11/drivers/scsi/scsicam.c Fri Oct 25 13:31:53 2002
+++ edited/drivers/scsi/scsicam.c Sun Oct 27 16:36:31 2002
@@ -80,11 +80,13 @@
if (ret || ip[0] > 255 || ip[1] > 63) {
ip[0] = 64;
ip[1] = 32;
- if (sector_div(capacity, ip[0] * ip[1]) > 65534) {
+ sector_div(capacity, ip[0] * ip[1]);
+ if (capacity > 65534) {
ip[0] = 255;
ip[1] = 63;
+ sector_div(capacity, ip[0] * ip[1]);
}
- ip[2] = sector_div(capacity, ip[0] * ip[1]);
+ ip[2] = capacity;
}
return 0;
^ permalink raw reply
* Re: kernel BUG at drivers/serial/core.c:1067 with 2.5.44
From: Alex Romosan @ 2002-10-27 16:43 UTC (permalink / raw)
To: Russell King; +Cc: Alex Romosan, linux-kernel
In-Reply-To: <20021027163307.A9553@flint.arm.linux.org.uk>
Russell King <rmk@arm.linux.org.uk> writes:
> On Sun, Oct 27, 2002 at 08:25:53AM -0800, Alex Romosan wrote:
> > Oct 27 07:39:54 trinculo kernel: kernel BUG at drivers/serial/core.c:1067!
>
> Someone called uart_set_termios without the BKL held, violating the locking
> requirements.
>
> Unfortunately:
>
> 1. You appear to be running a klogd that'll translate the addresses.
i am not sure what this means. i am running debian unstable. i just
realized i ran ksymoops with the -x option (if it makes any difference
i can resend the oops without -x).
> 2. your ksymoops doesn't seem to know what modules are loaded.
isn't this the list of modules loaded at the time?
Oct 27 07:39:54 trinculo kernel: 3c574_cs irtty irda autofs4 microcode ppp_async uhci-hcd ohci-hcd usbcore nls_cp437 vfat snd-pcm-oss snd-mixer-oss snd-ymfpci snd-pcm snd-mpu401-uart snd-rawmidi snd-ac97-codec snd-opl3-lib snd-timer snd-hwdep snd-seq-device snd soundcore
--alex--
--
| I believe the moment is at hand when, by a paranoiac and active |
| advance of the mind, it will be possible (simultaneously with |
| automatism and other passive states) to systematize confusion |
| and thus to help to discredit completely the world of reality. |
^ permalink raw reply
* LTT benchmarks and patch update
From: Karim Yaghmour @ 2002-10-27 16:46 UTC (permalink / raw)
To: linux-kernel, LTT-Dev
First, here's the latest LTT patch:
http://opersys.com/ftp/pub/LTT/ExtraPatches/patch-ltt-linux-2.5.44-vanilla-021026-2.2.bz2
We've run the latest LTT through a series of stress tests. The tests
demonstrate that LTT has negligible impact when compiled out or with the
daemon off (and compiled in). Even under the most stressful LMbench tests
we show minimal system impact.
We ran 2 sets of tests:
1- Measuring the overall execution time of 3 tasks: a complete 2.5 kernel
build, a bzip2 on a 2.5 kernel tar archive, and the total time to run
LMbench.
2- A complete LMbench run.
Each of these was run in 4 different configurations (Configuration B
was only run on test set #2 since the micro-benchmarks already show
no difference with vanilla):
A- A vanilla 2.5.44 kernel
B- A patched 2.5.44 kernel with tracing off
C- A patched 2.5.44 kernel with tracing on, daemon off
D- A patched 2.5.44 kernel with tracing on, daemon running
All tests were run using the lockless scheme with TSC timestamping.
When the LTT patch is applied to the kernel the results point to the fact
that when tracing is disabled there is no impact on the kernel performance.
Some numbers even seem to imply that the LTT patch speeds up the kernel by
fractions of a percent reinforcing our belief that the differences being
measured are in the noise.
Even when tracing is built-in, the difference is minimal, if at all
measurable. Test set #1 shows the decrease in performance to be equal
or below 0.5%, while test set #2 shows almost no difference for most
operations, including null syscalls.
As expected, nevertheless, there is a cost to having the trace daemon
running, tracing all kernel events and logging events to disk. Even then,
however, the impact on the real-life workloads (test set #1) is around
2.0%, which is quite low given the quantity of data being collected.
Some micro-benchmarks show relatively large impact. Because the large
majority of applications behave much closer to test set #1 than test set
#2, however, we believe the results are acceptable.
Here's a summary of test set #1:
----------------------------------------------------------------
| Kernel | Compile | Compress | LMbench SMP | LMbench UP |
----------------------------------------------------------------
| A (secs) | 638 | 200 | 867 | 272.05 |
----------------------------------------------------------------
| C (secs) | 640 | 201 | 871 | 270.87 |
| delta (%) | 0.3% | 0.5% | 0.5% | -0.15% |
----------------------------------------------------------------
| D (secs) | 651 | 204 | 872 | 275.08 |
| delta (%) | 2.0% | 2.0% | 0.5% | 1.11% |
----------------------------------------------------------------
[Compile and Compress columns are an average of 10 runs on SMP system;
LMbench SMP column is on one run only; LMbench UP is 5 runs without
disk tests.]
Test set #2 was run both on UP and SMP system.
The UP run of test set #2 was run 10 times and the results below are an
average of these runs (Average obtained using the tools available from:
http://home.earthlink.net/~rwhron/kernel/lmbench_comparison.html). This
is a complete LMbench test, including disk tests (not the same test run
as the LMbench UP measurements on 5 runs for test set #1 above).
#######################################################################
L M B E N C H 2 . 0 S U M M A R Y
------------------------------------
Processor, Processes - times in microseconds - smaller is better
----------------------------------------------------------------
null null open signal signal fork execve /bin/sh
kernel call I/O stat fstat close install handle process process process
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- -------
A 0.346 0.50314 4.193 0.730 5.186 0.843 3.201 292.3 1014.7 4985.2
B 0.346 0.50274 4.441 0.730 5.449 0.843 3.180 288.1 1002.0 5024.6
C 0.352 0.56244 4.241 0.735 5.432 0.849 3.156 301.0 1038.3 5134.7
D 0.963 1.5442 6.282 1.367 9.079 1.662 8.903 345.2 2472.6 6622.2
File select - times in microseconds - smaller is better
-------------------------------------------------------
select select select select select select select select
kernel 10 fd 100 fd 250 fd 500 fd 10 tcp 100 tcp 250 tcp 500 tcp
------- ------- ------- ------- ------- ------- ------- ------- -------
A 1.992 8.518 19.693 37.959 3.557 33.3852 51.2701 113.087
B 1.979 8.522 19.684 37.944 2.708 15.7315 37.7146 73.9382
C 2.594 14.305 34.586 67.002 3.265 22.8394 50.5247 100.358
D 6.015 39.079 94.875 232.318 8.283 85.7979 111.75 285.22
Context switching with 0K - times in microseconds - smaller is better
---------------------------------------------------------------------
2proc/0k 4proc/0k 8proc/0k 16proc/0k 32proc/0k 64proc/0k 96proc/0k
kernel ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch
------- --------- --------- --------- --------- --------- --------- ---------
A 2.413 2.348 2.508 2.745 3.430 4.707 5.860
B 2.681 2.455 2.559 2.904 3.600 4.912 6.034
C 3.048 2.852 2.954 3.176 3.865 5.285 6.558
D 3.572 3.434 3.691 3.895 4.999 6.881 8.229
Context switching with 4K - times in microseconds - smaller is better
---------------------------------------------------------------------
2proc/4k 4proc/4k 8proc/4k 16proc/4k 32proc/4k 64proc/4k 96proc/4k
kernel ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch
------- --------- --------- --------- --------- --------- --------- ---------
A 2.624 4.423 4.458 5.413 8.061 12.465 15.230
B 2.549 3.932 4.001 5.690 9.042 12.923 15.309
C 3.185 4.882 5.174 6.220 8.887 13.114 15.681
D 4.244 5.326 5.310 6.713 9.837 15.242 18.726
Context switching with 8K - times in microseconds - smaller is better
---------------------------------------------------------------------
2proc/8k 4proc/8k 8proc/8k 16proc/8k 32proc/8k 64proc/8k 96proc/8k
kernel ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch
------- --------- --------- --------- --------- --------- --------- ---------
A 2.947 5.219 5.536 8.439 13.366 21.788 25.691
B 2.904 5.689 6.158 8.515 14.220 22.450 28.341
C 3.655 5.809 6.368 9.488 15.176 22.614 26.432
D 4.908 6.618 6.813 9.620 15.692 23.165 26.995
Context switching with 16K - times in microseconds - smaller is better
----------------------------------------------------------------------
2proc/16k 4proc/16k 8proc/16k 16prc/16k 32prc/16k 64prc/16k 96prc/16k
kernel ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch
------- --------- --------- --------- --------- --------- --------- ---------
A 3.696 8.210 12.007 19.677 32.724 43.699 46.730
B 3.614 8.830 12.493 20.421 32.938 43.577 46.612
C 4.006 8.649 11.366 20.512 34.509 44.386 47.505
D 5.297 9.768 12.313 19.213 35.063 46.570 49.722
Context switching with 32K - times in microseconds - smaller is better
----------------------------------------------------------------------
2proc/32k 4proc/32k 8proc/32k 16prc/32k 32prc/32k 64prc/32k 96prc/32k
kernel ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch
------- --------- --------- --------- --------- --------- --------- ---------
A 5.137 15.498 28.268 54.907 77.701 88.583 84.718
B 6.458 17.387 27.123 52.752 76.295 84.247 84.857
C 6.404 17.144 32.665 54.851 76.668 84.841 85.616
D 6.979 15.674 25.008 53.044 79.204 87.115 87.739
Context switching with 64K - times in microseconds - smaller is better
----------------------------------------------------------------------
2proc/64k 4proc/64k 8proc/64k 16prc/64k 32prc/64k 64prc/64k 96prc/64k
kernel ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch
------- --------- --------- --------- --------- --------- --------- ---------
A 25.314 41.236 92.619 141.911 157.626 159.468 159.455
B 31.503 47.503 96.400 141.198 157.873 159.476 159.537
C 27.062 45.031 93.894 142.703 158.984 160.380 160.481
D 27.648 36.102 81.103 147.793 162.497 163.387 163.377
File create/delete and VM system latencies in microseconds - smaller is better
----------------------------------------------------------------------------
0K 0K 1K 1K 4K 4K 10K 10K Mmap Prot Page
kernel Create Delete Create Delete Create Delete Create Delete Latency Fault Fault
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------ ------
A 59.18 19.39 100.00 35.14 102.86 36.10 169.11 42.11 1371.1 1.045 4.00
B 59.47 20.97 100.92 36.18 102.06 35.84 168.89 42.61 1502.3 0.867 4.00
C 59.17 20.04 101.04 33.85 102.10 33.76 169.36 41.13 1368.5 0.948 5.80
D 67.19 23.82 112.33 40.62 115.90 41.30 187.37 50.20 1907.2 6.283 5.70
*Local* Communication latencies in microseconds - smaller is better
-------------------------------------------------------------------
kernel Pipe AF/Unix UDP RPC/UDP TCP RPC/TCP TCPconn
------- ------- ------- ------- ------- ------- ------- -------
A 6.509 11.130 18.3123 45.6148 25.7486 63.1761 102.210
B 6.443 9.948 17.0914 46.7833 25.7519 61.3685 102.340
C 6.206 11.718 18.8520 47.5403 25.2025 67.8464 100.232
D 484.605 168.968 116.732 1222.69 269.400 556.922 121.171
*Local* Communication bandwidths in MB/s - bigger is better
-----------------------------------------------------------
File Mmap Bcopy Bcopy Memory Memory
kernel Pipe AF/Unix TCP reread reread (libc) (hand) read write
------- ------- ------- ------- ------- ------- ------- ------- ------- -------
A 323.57 221.12 95.28 203.32 386.49 191.25 190.68 411.29 293.50
B 324.01 205.28 129.15 208.22 386.53 191.13 190.76 414.87 293.78
C 324.79 200.83 111.97 206.33 385.56 191.11 190.70 414.64 293.52
D 145.22 158.78 98.09 198.87 384.65 190.64 188.14 413.70 292.82
*Local* More Communication bandwidths in MB/s - bigger is better
----------------------------------------------------------------
File Mmap Aligned Partial Partial Partial Partial
OS open open Bcopy Bcopy Mmap Mmap Mmap Bzero
close close (libc) (hand) read write rd/wrt copy HTTP
------- ------- ------- ------- ------- ------- ------- ------- ------- -------
A 206.83 293.34 189.77 230.56 674.92 330.34 312.93 293.96 8.969
B 208.91 298.47 190.07 231.22 674.97 333.76 313.55 294.28 8.867
C 207.15 295.53 189.75 230.87 674.32 332.87 313.11 293.99 8.890
D 208.27 273.29 188.14 229.86 672.54 329.64 312.23 293.30 7.122
Memory latencies in nanoseconds - smaller is better
---------------------------------------------------
kernel Mhz L1 $ L2 $ Main mem
------- ----- ------- ------- ---------
A 800 3.783 44.180 172.92
B 800 3.781 38.313 172.94
C 800 3.788 48.874 173.18
D 800 3.789 38.492 173.51
#######################################################################
Test set #2 was run 5 times on a 4x SMP system and the results below are
an average of the those runs (The same tools as earlier were used to
extract this data):
#######################################################################
L M B E N C H 2 . 0 S U M M A R Y
------------------------------------
Processor, Processes - times in microseconds - smaller is better
----------------------------------------------------------------
null null open signal signal fork execve /bin/sh
kernel call I/O stat fstat close install handle process process process
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- -------
A 0.501 0.92795 5.270 1.216 6.773 1.293 4.494 233.0 716.8 2912.9
B 0.501 0.93778 5.213 1.212 6.717 1.292 4.481 232.0 716.7 2901.2
C 0.504 1.08863 4.982 1.206 6.970 1.293 4.442 242.8 747.9 3053.7
D 1.916 3.12815 7.734 3.698 11.709 2.858 7.559 277.0 925.5 3959.3
File select - times in microseconds - smaller is better
-------------------------------------------------------
select select select select select select select select
kernel 10 fd 100 fd 250 fd 500 fd 10 tcp 100 tcp 250 tcp 500 tcp
------- ------- ------- ------- ------- ------- ------- ------- -------
A 4.411 27.406 66.021 130.107 5.246 35.1106 87.3160 168.771
B 4.424 27.378 65.973 130.098 5.170 35.0629 85.2186 172.147
C 5.754 42.016 100.761 196.230 6.670 50.1556 121.856 242.663
D 13.142 102.394 249.196 500.868 14.271 113.352 283.88 546.154
Context switching with 0K - times in microseconds - smaller is better
---------------------------------------------------------------------
2proc/0k 4proc/0k 8proc/0k 16proc/0k 32proc/0k 64proc/0k 96proc/0k
kernel ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch
------- --------- --------- --------- --------- --------- --------- ---------
A 1.778 1.944 2.370 2.926 3.450 3.522 4.338
B 1.724 1.910 2.028 2.614 3.010 3.412 4.748
C 1.906 2.074 2.348 2.978 3.576 3.326 4.110
D 6.046 5.448 6.466 5.654 5.800 5.488 5.280
Context switching with 4K - times in microseconds - smaller is better
---------------------------------------------------------------------
2proc/4k 4proc/4k 8proc/4k 16proc/4k 32proc/4k 64proc/4k 96proc/4k
kernel ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch
------- --------- --------- --------- --------- --------- --------- ---------
A 2.988 5.778 7.428 8.454 8.496 8.394 7.934
B 6.818 6.644 7.614 8.698 8.548 8.598 7.906
C 5.528 6.526 7.810 8.820 8.422 8.724 8.348
D 8.064 8.208 8.606 9.034 8.774 8.482 8.906
Context switching with 8K - times in microseconds - smaller is better
---------------------------------------------------------------------
2proc/8k 4proc/8k 8proc/8k 16proc/8k 32proc/8k 64proc/8k 96proc/8k
kernel ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch
------- --------- --------- --------- --------- --------- --------- ---------
A 8.388 8.816 9.804 9.546 8.758 9.364 14.334
B 8.402 8.098 8.990 9.326 8.204 9.286 14.350
C 6.636 6.758 6.884 7.170 7.416 10.052 13.452
D 8.462 8.994 9.986 9.284 9.380 9.726 9.978
Context switching with 16K - times in microseconds - smaller is better
----------------------------------------------------------------------
2proc/16k 4proc/16k 8proc/16k 16prc/16k 32prc/16k 64prc/16k 96prc/16k
kernel ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch
------- --------- --------- --------- --------- --------- --------- ---------
A 9.358 8.954 9.740 10.228 11.780 23.400 27.402
B 11.792 11.962 12.350 11.138 11.658 26.948 36.402
C 11.742 12.130 12.420 12.922 12.088 21.380 31.318
D 12.266 12.572 12.712 12.906 12.720 13.940 20.930
Context switching with 32K - times in microseconds - smaller is better
----------------------------------------------------------------------
2proc/32k 4proc/32k 8proc/32k 16prc/32k 32prc/32k 64prc/32k 96prc/32k
kernel ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch
------- --------- --------- --------- --------- --------- --------- ---------
A 16.122 17.358 17.826 17.946 22.550 48.360 67.204
B 18.504 17.958 17.784 17.574 20.966 49.100 71.354
C 16.342 17.150 17.372 17.746 24.338 45.454 66.822
D 19.286 18.684 18.322 18.990 24.352 51.198 68.866
Context switching with 64K - times in microseconds - smaller is better
----------------------------------------------------------------------
2proc/64k 4proc/64k 8proc/64k 16prc/64k 32prc/64k 64prc/64k 96prc/64k
kernel ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch ctx swtch
------- --------- --------- --------- --------- --------- --------- ---------
A 27.460 31.226 29.184 31.742 50.472 135.096 176.156
B 28.674 28.366 27.690 29.234 53.842 130.884 178.004
C 28.816 28.060 28.566 29.886 51.270 141.374 178.096
D 28.772 28.816 28.736 42.250 67.816 159.820 180.094
File create/delete and VM system latencies in microseconds - smaller is better
----------------------------------------------------------------------------
0K 0K 1K 1K 4K 4K 10K 10K Mmap Prot Page
kernel Create Delete Create Delete Create Delete Create Delete Latency Fault Fault
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------ ------
A 88.76 33.00 162.68 58.29 187.13 58.17 268.37 70.43 4653.0 1.086 4.00
B 90.26 32.96 164.18 58.25 166.26 58.42 262.70 70.80 4638.6 1.053 4.00
C 91.75 31.96 164.47 57.70 168.66 58.05 261.68 71.00 5020.2 1.359 4.00
D 101.59 35.90 154.57 63.19 155.20 63.26 244.55 77.66 6931.2 2.012 7.00
*Local* Communication latencies in microseconds - smaller is better
-------------------------------------------------------------------
kernel Pipe AF/Unix UDP RPC/UDP TCP RPC/TCP TCPconn
------- ------- ------- ------- ------- ------- ------- -------
A 8.381 20.217 33.332 59.6795 41.2206 74.5685 117.646
B 8.223 15.084 33.4689 55.7983 38.1489 71.8043 121.885
C 9.135 16.638 39.5581 67.6097 47.3104 82.4835 118.360
D 19.460 29.729 49.8840 465.325 61.6741 131.809 131.579
*Local* Communication bandwidths in MB/s - bigger is better
-----------------------------------------------------------
File Mmap Bcopy Bcopy Memory Memory
kernel Pipe AF/Unix TCP reread reread (libc) (hand) read write
------- ------- ------- ------- ------- ------- ------- ------- ------- -------
A 509.65 504.18 172.52 290.36 330.88 193.43 157.06 330.87 201.57
B 514.71 503.90 154.21 289.53 330.19 193.63 156.88 330.18 201.73
C 474.63 496.20 144.88 289.44 330.55 194.23 158.10 330.58 200.94
D 360.74 344.55 137.47 284.20 327.97 195.28 159.18 328.65 203.26
*Local* More Communication bandwidths in MB/s - bigger is better
----------------------------------------------------------------
File Mmap Aligned Partial Partial Partial Partial
OS open open Bcopy Bcopy Mmap Mmap Mmap Bzero
close close (libc) (hand) read write rd/wrt copy HTTP
------- ------- ------- ------- ------- ------- ------- ------- ------- -------
A 292.56 269.89 192.90 167.37 785.96 202.14 202.73 350.89 10.298
B 291.84 270.12 191.63 165.61 784.42 202.30 202.98 350.96 10.310
C 291.89 265.37 192.08 165.79 785.20 201.56 202.06 350.30 9.952
D 285.84 244.90 194.22 169.39 781.87 203.51 205.93 349.57 7.180
Memory latencies in nanoseconds - smaller is better
---------------------------------------------------
kernel Mhz L1 $ L2 $ Main mem
------- ----- ------- ------- ---------
A 700 4.301 12.907 182.16
B 700 4.301 12.908 182.13
C 700 4.303 12.915 182.30
D 700 4.326 12.989 183.39
#######################################################################
Karim
^ permalink raw reply
* Re: verbose argument to sd_synchronize_cache
From: James Bottomley @ 2002-10-27 16:35 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: James Bottomley, linux-scsi
In-Reply-To: <20021027162811.A21987@infradead.org>
hch@infradead.org said:
> sd_synchronize_cache() is always called with verbose=1, so this
> argument should go away. But do we really want to be that verbose
> here? IMHO we should remove the argumet and the printks..
It can take a while to synchronise the cache on monster arrays, so printing
something while we do it on shutdown is a good idea (unless you want the "my
machine takes ages to shut down" type of bug reports).
The non-verbose part was for exposing the synchronise via an ioctl (which I
haven't got around to writing yet) on the grounds that anyone doing the ioctl
knows what's going on and doesn't need a kernel message telling them.
James
^ permalink raw reply
* Re: [PATCH] fix sector_div use in scsicam.c
From: James Bottomley @ 2002-10-27 16:34 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: James Bottomley, linux-scsi
In-Reply-To: <20021027172307.A15930@lst.de>
> - ip[2] = sector_div(capacity, ip[0] * ip[1]);
> + sector_div(capacity, ip[0] * ip[1]);
> + ip[2] = capacity;
Now you've lost your optimisation. The second sector_div should be inside the
if.
James
^ permalink raw reply
* Re: [parisc-linux] A few questions
From: Thibaut VARENE @ 2002-10-27 16:31 UTC (permalink / raw)
To: posix; +Cc: parisc-linux
In-Reply-To: <000501c27dc6$4f18d7e0$0100a8c0@posix2paebsbtq>
-------------------
> Hi! Again
>
> Why doesn't my system like to boot parisc-linux from the cd?
> It "hangs" after printing HPMC and a bunch of adresses to the
screen :(
Have you checked md5sum ?
Are you sure your CD is properly burned ?
Are you sure your CD-ROM drive is working properly and supported ?
Please search the mailing-list archive, this question has been asked
several times.
And please, do not mail me personnaly. This is not a private lesson.
Thibaut VARENE
PA/Linux ESIEE Team
http://pateam.esiee.fr/
^ permalink raw reply
* verbose argument to sd_synchronize_cache
From: Christoph Hellwig @ 2002-10-27 16:28 UTC (permalink / raw)
To: James Bottomley; +Cc: linux-scsi
sd_synchronize_cache() is always called with verbose=1, so this argument
should go away. But do we really want to be that verbose here? IMHO
we should remove the argumet and the printks..
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.