Remove 128KB bzero() call done for every block I/O data buffer.

On my tests this improves performance of the new iSCSI target backed by
GEOM STRIPE of SSDs from 75K to 110K IOPS.

Reviewed by:	ken
This commit is contained in:
Alexander Motin 2013-10-23 17:55:35 +00:00
parent f214848258
commit eeb9405409

View File

@ -1604,18 +1604,6 @@ ctl_be_block_open(struct ctl_be_block_softc *softc,
return (0);
}
static int
ctl_be_block_mem_ctor(void *mem, int size, void *arg, int flags)
{
return (0);
}
static void
ctl_be_block_mem_dtor(void *mem, int size, void *arg)
{
bzero(mem, size);
}
static int
ctl_be_block_create(struct ctl_be_block_softc *softc, struct ctl_lun_req *req)
{
@ -1644,8 +1632,7 @@ ctl_be_block_create(struct ctl_be_block_softc *softc, struct ctl_lun_req *req)
mtx_init(&be_lun->lock, be_lun->lunname, NULL, MTX_DEF);
be_lun->lun_zone = uma_zcreate(be_lun->lunname, MAXPHYS,
ctl_be_block_mem_ctor, ctl_be_block_mem_dtor, NULL, NULL,
/*align*/ 0, /*flags*/0);
NULL, NULL, NULL, NULL, /*align*/ 0, /*flags*/0);
if (be_lun->lun_zone == NULL) {
snprintf(req->error_str, sizeof(req->error_str),