Google SMP patches (5.0 and 5.1)

Bug #284724 reported by Arjen Lentz
2
Affects Status Importance Assigned to Milestone
OurDelta
Confirmed
Wishlist
Unassigned

Bug Description

See http://code.google.com/p/google-mysql-tools/wiki/Mysql5Patches
Get the 5.0 and 5.1 patches into the ourdelta tree, add patch_info (for SHOW PATCHES).

See if/how they conflict with the Yasufumi Kinoshita patches in 5.0-Sail. If no intrinsic conflict, we can have them both enabled in Sail to see what that does for performance, and have just SMP in the regular build also as I'd regard the Google patch to be real-world tested sufficiently, and many people can benefit.

Revision history for this message
Arjen Lentz (arjen-lentz) wrote :

Little task free for anybody to pick up and do!

Changed in ourdelta:
importance: Undecided → Wishlist
status: New → Confirmed
Revision history for this message
Mark Callaghan (mdcallag) wrote : Re: [Ourdelta-developers] [Bug 284724] Re: Google SMP patches (5.0 and 5.1)

Which patch do you want?
1) SMP fix
2) configurable number of background IO threads
3) configurable background IO rate limit
4) disable Innodb malloc heap in mem/mem0pool.c

For 1 -- Percona just repoted a performance regression in the Google
code. Percona uses the Yasufumi version of faster rw-mutex that The
Yasufumi version doesn't have that problem.

For 2 -- Percona uses the Yasufumi version.

For 3 -- Percona has their own change or uses the Yasufumi version.
From the description of the Percona version, the Google version might
be more general, but I have not looked at their code. The Google
version is in the 5.0-map launchpad branch that I publish.

For 4 -- this is trivia to port.

You might want to try to use 3.
You should use 4.
I think that 1 and 2 from the Google patch are redundant with existing
Percona patches.

The regression for 1 occurs when there are many concurrent connections
doing updates. We just started to look at it today.

On Thu, Oct 16, 2008 at 6:22 PM, Arjen Lentz <email address hidden> wrote:
> Little task free for anybody to pick up and do!
>
> ** Changed in: ourdelta
> Importance: Undecided => Wishlist
> Status: New => Confirmed
>
> --
> Google SMP patches (5.0 and 5.1)
> https://bugs.launchpad.net/bugs/284724
> You received this bug notification because you are a member of OurDelta-
> developers, which is the registrant for OurDelta.
>
> Status in OurDelta - Builds for MySQL: Confirmed
>
> Bug description:
> See http://code.google.com/p/google-mysql-tools/wiki/Mysql5Patches
> Get the 5.0 and 5.1 patches into the ourdelta tree, add patch_info (for SHOW PATCHES).
>
> See if/how they conflict with the Yasufumi Kinoshita patches in 5.0-Sail. If no intrinsic conflict, we can have them both enabled in Sail to see what that does for performance, and have just SMP in the regular build also as I'd regard the Google patch to be real-world tested sufficiently, and many people can benefit.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~ourdelta-developers
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~ourdelta-developers
> More help : https://help.launchpad.net/ListHelp
>

--
Mark Callaghan
<email address hidden>

Revision history for this message
Arjen Lentz (arjen-lentz) wrote :

On 17/10/2008, at 11:37 AM, MARK CALLAGHAN wrote:
> Which patch do you want?
> 1) SMP fix
> 2) configurable number of background IO threads
> 3) configurable background IO rate limit
> 4) disable Innodb malloc heap in mem/mem0pool.c
>
> For 1 -- Percona just repoted a performance regression in the Google
> code. Percona uses the Yasufumi version of faster rw-mutex that The
> Yasufumi version doesn't have that problem.

Ok good to know.
It's so much better when these things are discussed in the open
though, so that there aren't pockets of knowledge that get lost ;-)

> For 2 -- Percona uses the Yasufumi version.

I know, but all the Yasufumi patches are in their unstable build (and
so I've put them in the -Sail build for OurDelta).
They'll have had very limited exposure to the real world.
Apart from performance, how stable would you say they are?

> For 3 -- Percona has their own change or uses the Yasufumi version.

As above..

> From the description of the Percona version, the Google version might
> be more general, but I have not looked at their code. The Google
> version is in the 5.0-map launchpad branch that I publish.

Ok, how would you rate the world-readyness of that one?

Link for ref: https://code.launchpad.net/~mdcallag

> For 4 -- this is trivia to port.
>
> You might want to try to use 3.
> You should use 4.
> I think that 1 and 2 from the Google patch are redundant with
> existing Percona patches.

Ok so we need to do some mix&matching then, that's ok - thanks for the
insights!

> The regression for 1 occurs when there are many concurrent
> connections doing updates.
> We just started to look at it today.

Cool.

Apart from most of it being trivial, the individual patches still need
to go into the ourdelta tree.
And, in some cases they do need to be ported to 5.1.

Cheers,
Arjen.
--
Arjen Lentz, Director @ Open Query (http://openquery.com.au/)
Training and Expertise for MySQL in Australia and New Zealand

OurDelta: free enhanced builds for MySQL @ http://ourdelta.org/

Revision history for this message
Erik Ljungstrom (erik-ibiblio) wrote :

A heads up from Vadim last night is that Percona will publish their improved version of smp fix which is compatible with their patches. Granted, at that point the improvements will be as untested as the Yasufumi patches which we've currently got in -Sail. Not sure how much code will change though.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.