List:Internals« Previous MessageNext Message »
From:Michael Widenius Date:August 22 2001 12:20pm
Subject:Re: Locking in key_cache_read
View as plain text  

>>>>> "Sasha" == Sasha Pachev <sasha@stripped> writes:

Sasha> On Tuesday 21 August 2001 06:34, Andi Kleen wrote:
>> Hi,
>> I noticed that the key cache in myisam 3.23.37 (mysys/mf_keycache.c) does
>> all IO under a global mutex when key caching is enabled. Isn't this a
>> scalability problem, as all the key IO will be single threaded?

Sasha> Yes, in some cases when there are a lot of keyblocks to examine to do a key 
Sasha> lookup. This is being fixed in 4.0, and if I remember correctly, Monty 
Sasha> already has finished most of the work. He will offer additional comments.

I have the new key cache 80 % coded (but not tested). I have however
had to delay this to get the new internal table structure ready for
4.0.  I will continue to look at the key cache as soon as the new
table code is ready and we have released binary version of 4.0-alpha.
The plan is to release 4.0-alpha within 14 days. 

There is two 'bad' mutex in MySQL.  One when opening a table that is
not in the table cache and another in the key cache.
The new table structure will take care of the first mutex and the new
key cache should fix the second mutex.


For technical support contracts, goto
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /    Mr. Michael Widenius <monty@stripped>
 / /|_/ / // /\ \/ /_/ / /__   MySQL AB, CTO
/_/  /_/\_, /___/\___\_\___/   Helsinki, Finland
Re: Locking in key_cache_readAndi Kleen21 Aug
  • Re: Locking in key_cache_readSasha Pachev21 Aug
    • Re: Locking in key_cache_readMichael Widenius22 Aug