Messages in this thread | | | From | Badari Pulavarty <> | Subject | Re: [PATCH] PAGE_SIZE IO for RAW (RAW VARY) | Date | Wed, 9 Jan 2002 15:20:01 -0800 (PST) |
| |
> > > Here is a 2.4.17 patch for doing PAGE_SIZE IO on raw devices. Instead > > of doing 512 byte buffer heads, the patch does 4K buffer heads. This > > patch significantly reduced CPU overhead and increased IO throughput > > in our database benchmark runs. (CPU went from 45% busy to 6% busy). > > Does that work out when the application is still doing 512 byte raw I/O. > Its fine to fall back to the current performance but at least one very > large competing database would get quite irate if the fallback made > 512 byte mode slower or nonfunctional ? >
It works as usual for 512 byte IO (few checks in the code). I have not seen any slowness for < 4K IO. Infact, I can change the patch to try raw vary only for iosize > PAGE_SIZE.
I tested with 2 large competing databases, both of them seem to benifit significantly from this patch. I tested with 4 different Fiber & SCSI adaptors, they all seem to work fine. (only on i386).
But unfortunately, if the hardware have special alignment restrictions (as you mentioned), this patch does not work. I don't know if it makes sense to make this configurable and expect customer/user to enable this feature if they know about their hardware/driver alignment restrictions.
Thanks, Badari - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |