ata tagged queuing support question

Marcin Dalecki mdcki at gmx.net
Thu Jul 24 07:07:31 PDT 2003


mitrohin a.s. wrote:
> helo.
> 
> ata-disk.c
> 
>     /* use tagged queueing if allowed and supported */
> #if 0 /* disable tags for now */
>     if (ata_tags && ad_tagsupported(adp)) {
> 	adp->num_tags = atadev->param->queuelen;
> 	adp->flags |= AD_F_TAG_ENABLED;
> 	adp->device->channel->flags |= ATA_QUEUED;
> 	if (ata_command(atadev, ATA_C_SETFEATURES,
> 			0, 0, ATA_C_F_DIS_RELIRQ, ATA_WAIT_INTR))
> 	    ata_prtdev(atadev, "disabling release interrupt failed\n");
> 	if (ata_command(atadev, ATA_C_SETFEATURES,
> 			0, 0, ATA_C_F_DIS_SRVIRQ, ATA_WAIT_INTR))
> 	    ata_prtdev(atadev, "disabling service interrupt failed\n");
>     }
> #endif
> 
> tagged queueing broken in -current? i have IBM ICxxxxxAV drives and want 
> to use this feature. can i enable this block?

Don't. It's very frequently broken by *hardware* and not worth the trouble
in terms of performance.



More information about the freebsd-current mailing list