Ignore:
Timestamp:
Oct 8, 2011, 10:28:48 PM (14 years ago)
Author:
cjm
Message:

Version 1.21


  • Triggered by reports of performance loss with NCQ
  • New command line flag "/F" to force using write buffers even when upstream I/O requested non-buffered I/O; the primary purpose of this flag is to debug the NCQ performance drop but the flag may or may not remain.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/os2ahci/os2ahci.c

    r123 r125  
    7373int             thorough_scan = 1; /* if != 0, perform thorough PCI scan */
    7474int             init_reset;        /* if != 0, reset ports during init */
     75int             force_write_cache; /* if != 0, force write cache */
    7576int             verbosity = 1;     /* == 1 -> show sign on banner
    7677                                    *  > 1 -> show adapter info during boot */
     
    233234        /* reset ports during initialization */
    234235        init_reset = 1;
     236        break;
     237
     238      case 'f':
     239        /* force write cache regardless of IORB flags */
     240        force_write_cache = 1;
    235241        break;
    236242
     
    387393 * Generic IOCTL via character device driver. IOCTLs are used to control the
    388394 * driver operation and to execute native ATA and ATAPI (SCSI) commands from
    389  * ring 3 applications.
     395 * ring 3 applications. On top of that, some predefined IOCTLs (e.g. SMART
     396 * commands for ATA disks) are implemented here.
    390397 */
    391398USHORT gen_ioctl(RP_GENIOCTL _far *ioctl)
    392399{
     400  dprintf("IOCTL 0x%x/0x%x\n", (u16) ioctl->Category, (u16) ioctl->Function);
     401
    393402  switch (ioctl->Category) {
    394403
    395404  case OS2AHCI_IOCTL_CATEGORY:
    396 
    397405    switch (ioctl->Function) {
    398406
     
    404412
    405413    }
    406   }
     414
     415  case DSKSP_CAT_GENERIC:
     416    return(ioctl_gen_dsk(ioctl));
     417   
     418  case DSKSP_CAT_SMART:
     419    return(ioctl_smart(ioctl));
     420
     421  }
     422
    407423  return(STDON | STATUS_ERR_UNKCMD);
    408424}
Note: See TracChangeset for help on using the changeset viewer.