From 693ceab23e831ec3a19ac0daa29f797e2596fb93 Mon Sep 17 00:00:00 2001 From: mav Date: Sat, 12 May 2012 13:55:36 +0000 Subject: Add two functions xpt_batch_start() and xpt_batch_done() to the CAM SIM KPI to allow drivers to handle request completion directly without passing them to the CAM SWI thread removing extra context switch. Modify all ATA/SATA drivers to use them. Reviewed by: gibbs, ken MFC after: 2 weeks --- sys/dev/ata/ata-all.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sys/dev/ata') diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c index 9ea25c0..3caad01 100644 --- a/sys/dev/ata/ata-all.c +++ b/sys/dev/ata/ata-all.c @@ -544,9 +544,11 @@ ata_interrupt(void *data) struct ata_channel *ch = (struct ata_channel *)data; mtx_lock(&ch->state_mtx); + xpt_batch_start(ch->sim); #endif ata_interrupt_locked(data); #ifdef ATA_CAM + xpt_batch_done(ch->sim); mtx_unlock(&ch->state_mtx); #endif } -- cgit v1.1