>>>>> "Steve" == Steve Hardy <s.hardy@stripped> writes:
Steve> Hi guys,
Steve> I made a rough AIO-prefetch patch to improve I/O bound performance of InnoDB. I
> also posted this to percona-discussion, but I hear that there may be some more interested
> people here.
In most cases we at Monty Program Ab let Percona be in charge of the
InnoDB optimizations; However if they are not interested or not acting
swift enough we may also do reviews / patch XtraDB for MariaDB.
Steve> What the patch does is:
Sounds very intersting!
Steve> I then remapped the index_read() to do a range_read() as well, but I think there
> may be some issues with that. The main reason I want to do that is when you're doing an
> index_read with an index prefix, you can prefetch all the matches, which are requested
> with index_next() after that. But it probably still breaks something.
In theory this should work, eject that you shouldn't do this for
queries that uses 'limit'.
Steve> I still need to test with fragmented tables, and I think there are probably
> various memleaks and stuff in there. Also rnd_* needs to be mapped for prefetch too. I
> think there is also a problem with the estimate code if the tree contains no node pages
> (small tables).
Which of course needs to be tested/fixed before adding the patch.
Steve> Comments please.
Steve> the patch is at http://download.zarafa.com/zarafa/innodb_range_prefetch.diff
Steve> it's against 5.5.6-rc
Steve> not sure how useful it is in 5.1 since 5.1 has no AIO on linux.
The plan is to make a MariaDB 5.5 tree later this month, after which
we are happy to look at the patch if Percona has not given you any
feedback by then.
Creator of MySQL and MariaDB