• Mats Kindahl's avatar
    WL#5363: Thread Pool Service Interface · b1dcf448
    Mats Kindahl authored
    In order to allow thread schedulers to be dynamically loaded,
    it is necessary to make the following changes to the server:
    
    - Two new service interfaces
    
    - Modifications to InnoDB to inform the thread scheduler of state changes.
    
    - Changes to the VIO subsystem for checking if data is available on a socket.
    
    - Elimination of remains of the old thread pool implementation.
    
    The two new service interfaces introduces are:
    
    my_thread_scheduler
      A service interface to register a thread
      scheduler.
    
    thd_wait
      A service interface to inform thread scheduler
      that the thread is about to start waiting.
    
    In addition, the patch adds code that:
    
    - Add a call to thd_wait for table locks in mysys
      thd_lock.c by introducing a set function that
      can be used to set a callback to be used when
      waiting on a lock and resuming from waiting.
    
    - Calling the mysys set function from the server
      to set the callbacks correctly.
    b1dcf448
violite.h 8.56 KB