direct-io.hg

changeset 297:8d97a5bf81d2

bitkeeper revision 1.122.1.14 (3e70fa03agHmgzj9cO0FmaGzS2RcPg)

Merge labyrinth.cl.cam.ac.uk:/usr/groups/xeno/BK/xeno.bk
into labyrinth.cl.cam.ac.uk:/anfs/scratch/labyrinth/iap10/xeno-clone/xeno.bk
author iap10@labyrinth.cl.cam.ac.uk
date Thu Mar 13 21:37:07 2003 +0000 (2003-03-13)
parents d2f6b07b136d 725c7592303b
children c087ff762f6a 9121aa1e3f33
files xen/arch/i386/irq.c xen/common/perfc.c xen/drivers/char/xen_kbd.c xen/drivers/char/xen_serial.c xen/include/asm-i386/irq.h xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/block/xl_scsi.c
line diff
     1.1 --- a/xen/arch/i386/irq.c	Thu Mar 13 21:33:05 2003 +0000
     1.2 +++ b/xen/arch/i386/irq.c	Thu Mar 13 21:37:07 2003 +0000
     1.3 @@ -537,7 +537,9 @@ asmlinkage unsigned int do_IRQ(struct pt
     1.4          do_softirq();
     1.5  
     1.6      rdtscl(cc_end);
     1.7 -    perfc_adda(irq_time, cpu, cc_end - cc_start);
     1.8 +
     1.9 +    if(!action || (!(action->flags & SA_NOPROFILE)) )
    1.10 +        perfc_adda(irq_time, cpu, cc_end - cc_start);
    1.11  
    1.12      return 1;
    1.13  }
     2.1 --- a/xen/common/perfc.c	Thu Mar 13 21:33:05 2003 +0000
     2.2 +++ b/xen/common/perfc.c	Thu Mar 13 21:37:07 2003 +0000
     2.3 @@ -47,18 +47,18 @@ void __perfc_print (unsigned long counte
     2.4        return;
     2.5    }
     2.6    if (element_size == 0) {                              /* single counter */
     2.7 -      printf ("%10ld  0x%08lx  %s\n", counter[0], counter[0],
     2.8 +      printf ("%10lu  0x%08lx  %s\n", counter[0], counter[0],
     2.9                perfc_name[loop] + 2 + num);
    2.10    } else if (cpus) {                                    /* counter per CPU  */
    2.11        for (loop = 0; loop < smp_num_cpus; loop++) {
    2.12 -          printf ("%10ld  0x%08lx  cpu[%02d] %s\n", 
    2.13 +          printf ("%10lu  0x%08lx  cpu[%02d] %s\n", 
    2.14                    counter[loop], counter[loop], 
    2.15                    loop, perfc_name[loop]);
    2.16        }
    2.17        
    2.18    } else {                                             /* show entire array */
    2.19        for (loop = 0; loop < element_size; loop++) {
    2.20 -          printf ("%10ld  0x%08lx  %s:%d\n", 
    2.21 +          printf ("%10lu  0x%08lx  %s:%d\n", 
    2.22                    counter[loop], counter[loop], 
    2.23                    perfc_name[loop] + 2 + num, loop);
    2.24        }
    2.25 @@ -103,6 +103,8 @@ void perfc_printall (u_char key, void *d
    2.26          }
    2.27      }
    2.28  
    2.29 +    //perfc_reset( key, dev_id, regs );
    2.30 +
    2.31      return;
    2.32  }
    2.33  
     3.1 --- a/xen/drivers/char/xen_kbd.c	Thu Mar 13 21:33:05 2003 +0000
     3.2 +++ b/xen/drivers/char/xen_kbd.c	Thu Mar 13 21:37:07 2003 +0000
     3.3 @@ -1,4 +1,5 @@
     3.4  #include <asm-i386/io.h>
     3.5 +#include <asm-i386/irq.h>
     3.6  #include <xeno/sched.h>    /* this has request_irq() proto for some reason */
     3.7  #include <xeno/keyhandler.h>  
     3.8  
     3.9 @@ -183,7 +184,7 @@ static void keyboard_interrupt(int irq, 
    3.10  
    3.11  void initialize_keyboard()
    3.12  {
    3.13 -    if(request_irq(KEYBOARD_IRQ, keyboard_interrupt, 0, "keyboard", NULL))
    3.14 +    if(request_irq(KEYBOARD_IRQ, keyboard_interrupt, SA_NOPROFILE, "keyboard", NULL))
    3.15  	printk("initialize_keyboard: failed to alloc IRQ %d\n", KEYBOARD_IRQ); 
    3.16  
    3.17      return; 
     4.1 --- a/xen/drivers/char/xen_serial.c	Thu Mar 13 21:33:05 2003 +0000
     4.2 +++ b/xen/drivers/char/xen_serial.c	Thu Mar 13 21:37:07 2003 +0000
     4.3 @@ -85,6 +85,6 @@ void initialize_serial()
     4.4      outb(NS16550_MCR_OUT2, SERIAL_BASE + NS16550_MCR);   /* Modem control */
     4.5      outb(NS16550_IER_ERDAI, SERIAL_BASE + NS16550_IER ); /* Setup interrupts */
     4.6  
     4.7 -    if((rc = request_irq(4, serial_rx_int, 0, "serial", 0)))
     4.8 +    if((rc = request_irq(4, serial_rx_int, SA_NOPROFILE, "serial", 0)))
     4.9  	printk("initialize_serial: failed to get IRQ4, rc=%d\n", rc); 
    4.10  }
     5.1 --- a/xen/include/asm-i386/irq.h	Thu Mar 13 21:33:05 2003 +0000
     5.2 +++ b/xen/include/asm-i386/irq.h	Thu Mar 13 21:37:07 2003 +0000
     5.3 @@ -8,6 +8,7 @@
     5.4  
     5.5  #define SA_INTERRUPT    0x20000000
     5.6  #define SA_SHIRQ        0x04000000
     5.7 +#define SA_NOPROFILE	0x02000000
     5.8  
     5.9  #define SA_SAMPLE_RANDOM  0   /* Linux driver compatibility */
    5.10  
     6.1 --- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/block/xl_scsi.c	Thu Mar 13 21:33:05 2003 +0000
     6.2 +++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/block/xl_scsi.c	Thu Mar 13 21:37:07 2003 +0000
     6.3 @@ -62,16 +62,16 @@ int xlscsi_init(xen_disk_info_t *xdi)
     6.4      /* Initialize global arrays. */
     6.5      for ( i = 0; i < XLSCSI_MAX; i++ )
     6.6      {
     6.7 -	xlscsi_blksize_size[i]  = 512;
     6.8 +	xlscsi_blksize_size[i]  = 1024; //XXX 512;
     6.9  	xlscsi_hardsect_size[i] = 512;
    6.10 -	xlscsi_max_sectors[i]   = 128;
    6.11 +	xlscsi_max_sectors[i]   = 128*8; //XXX 128
    6.12      }
    6.13  
    6.14      blk_size[XLSCSI_MAJOR]      = NULL;
    6.15      blksize_size[XLSCSI_MAJOR]  = xlscsi_blksize_size;
    6.16      hardsect_size[XLSCSI_MAJOR] = xlscsi_hardsect_size;
    6.17      max_sectors[XLSCSI_MAJOR]   = xlscsi_max_sectors;
    6.18 -    read_ahead[XLSCSI_MAJOR]    = 8;
    6.19 +    read_ahead[XLSCSI_MAJOR]    = NULL; //XXX8;
    6.20  
    6.21      blk_init_queue(BLK_DEFAULT_QUEUE(XLSCSI_MAJOR), do_xlblk_request);
    6.22