Hi, First is just a prep patch that moves struct device, which is quite the pig, out of line in block_device, and then shuffles a few fields for better layout. It also saves 16 bytes of space in there while at it. Second patch caches the bdev->disk->fops->submit_bio state in the bdev, so we can avoid this long dependent memory load chain in the fast path. -- Jens Axboe