swp_pager_async_iodone() no longer requires Giant. Modify bufdone()

and swapgeom_done() to perform swp_pager_async_iodone() without Giant.

Reviewed by:	tegge
This commit is contained in:
alc 2004-02-07 08:54:50 +00:00
parent c6ac567da3
commit 8a8d62e1aa
2 changed files with 0 additions and 4 deletions

View File

@ -3102,7 +3102,6 @@ bufdone(struct buf *bp)
int s;
void (*biodone)(struct buf *);
GIANT_REQUIRED;
s = splbio();

View File

@ -1428,7 +1428,6 @@ swp_pager_async_iodone(struct buf *bp)
int i;
vm_object_t object = NULL;
GIANT_REQUIRED;
bp->b_flags |= B_DONE;
/*
@ -2395,9 +2394,7 @@ swapgeom_done(struct bio *bp2)
bp = bp2->bio_caller2;
if (bp2->bio_error)
bp->b_ioflags |= BIO_ERROR;
mtx_lock(&Giant);
bufdone(bp);
mtx_unlock(&Giant);
g_destroy_bio(bp2);
}