[PATCH 0/5] Hand over key lookup in a page to vinyl reader thread

Vladimir Davydov vdavydov.dev at gmail.com
Wed May 29 18:12:46 MSK 2019


If a key isn't found in the tuple cache, we fetch it from a run file. In
this case disk read and page decompression is done by a reader thread,
however key lookup in the fetched page is still performed by the tx
thread. Since pages are immutable, this could as well be done by the
reader thread, which would allow us to save some precious CPU cycles for
tx.

https://github.com/tarantool/tarantool/issues/4257
https://github.com/tarantool/tarantool/commits/dv/gh-4257-vy-perform-key-lookup-in-reader-thread

Vladimir Davydov (5):
  vinyl: factor out function to lookup key in page
  vinyl: pass page info by reference to reader thread
  vinyl: encapsulate reader thread selection logic in a helper function
  vinyl: do not allow to cancel a fiber reading a page
  vinyl: lookup key in reader thread

 src/box/vy_run.c | 281 ++++++++++++++++++++++++++++---------------------------
 1 file changed, 141 insertions(+), 140 deletions(-)

-- 
2.11.0




More information about the Tarantool-patches mailing list