Created by Vlad Lesin on 2014-03-27 and last modified on 2014-04-22
Get this branch:
bzr branch lp:~vlad-lesin/percona-server/5.6-merge-multiple-ios
Only Vlad Lesin can upload to this branch. If you are Vlad Lesin please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Recent revisions

577. By Vlad Lesin on 2014-04-22

When the session variable innodb_lra_size is set to N, we issue async
read requests for the next M logical pages where the total size of the M
pages on disk is N megabytes. The max allowed value of innodb_lra_size
is is 16384 which corresponds to prefetching 16GB of data. We may choose
to use smaller values in production.

The original implementation can be found here:

This implementation does not contain code for flashcahe.

576. By Vlad Lesin on 2014-04-21

Merge aio page read requests

Tries to submit multiple aio page read requests together to improve read

The original code and description can be found here:

The difference between this and the original implementation is that fil_io()
macros invokes _fil_io() function with enabled io's buffering by default in
the original implementation, it can cause the errors connected with waiting
io finishing just after fil_io() invocation.

For example log_archive_do() waits io's finishing on log_sys->archive_lock
mutex, but the mutex is not being unlocked as io's were buffered and
uncommited and io_handler_thread() does not process io's completion in
fil_aio_wait(). Potentially there can be the same errors so io's buffering
is disabled by default and will be enabled only for logical readahead code.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.