← Back to team overview

percona-discussion team mailing list archive

[Bug 370054] [NEW] Backport Google's patches V3

 

Public bug reported:

Please look into integration next fixes from Google:

Yes, many changes to do IO faster. Some are similar to yours, but I
think some are still missing from XtraDB and the results I get on
iibench may demonstrate they are needed. Changes include:
  * use request arrays in os0file.c with more slots
  * make iteration over request arrays in os0file.c more efficient
  * get rid of the O(N*N) cost for finding adjacent requests in os0file.c

There are a few changes in srv0srv.c that are similar to what you have
but I think your code might need to be updated to write dirty pages
and prefetch insert buffer merges more aggresively. Also code I have
there considers the current number of free slots in the request array
when submitting a batch of requests.

In srv0srv.c insert buffer read prefetches are done aggressively
(perhaps too aggressively) when the user set limit on the max ibuf
size has been exceeded. In your code, the behavior is similar to
traditional Innodb except you have the ibuf accelaration factor.

And also
http://code.google.com/p/google-mysql-tools/wiki/InnodbMutexContention2

** Affects: percona-patches
     Importance: Undecided
         Status: New

-- 
Backport Google's patches V3
https://bugs.launchpad.net/bugs/370054
You received this bug notification because you are a member of Percona
developers, which is the registrant for Percona patches.

Status in Patches for MySQL by Percona: New

Bug description:
Please look into integration next fixes from Google:

Yes, many changes to do IO faster. Some are similar to yours, but I
think some are still missing from XtraDB and the results I get on
iibench may demonstrate they are needed. Changes include:
  * use request arrays in os0file.c with more slots
  * make iteration over request arrays in os0file.c more efficient
  * get rid of the O(N*N) cost for finding adjacent requests in os0file.c

There are a few changes in srv0srv.c that are similar to what you have
but I think your code might need to be updated to write dirty pages
and prefetch insert buffer merges more aggresively. Also code I have
there considers the current number of free slots in the request array
when submitting a batch of requests.

In srv0srv.c insert buffer read prefetches are done aggressively
(perhaps too aggressively) when the user set limit on the max ibuf
size has been exceeded. In your code, the behavior is similar to
traditional Innodb except you have the ibuf accelaration factor.

And also
http://code.google.com/p/google-mysql-tools/wiki/InnodbMutexContention2



Follow ups

References