~drizzle-trunk/drizzle/development

Viewing all changes in revision 1819.5.45.

[patch 045/129] Merge patch for revision 1833 from InnoDB SVN:
revno: 1833
revision-id: svn-v4:16c675df-0fcb-4bc9-8058-dcc011a37293:branches/zip:5825
parent: svn-v4:16c675df-0fcb-4bc9-8058-dcc011a37293:branches/zip:5822
committer: marko
timestamp: Thu 2009-09-10 09:47:09 +0000
message:
  branches/zip: Reduce mutex contention that was introduced when
  addressing Bug #45015 (Issue #316), in r5703.
  
  buf_page_set_accessed_make_young(): New auxiliary function, called by
  buf_page_get_zip(), buf_page_get_gen(),
  buf_page_optimistic_get_func(). Call ut_time_ms() outside of
  buf_pool_mutex. Use cached access_time.
  
  buf_page_set_accessed(): Add the parameter time_ms, so that
  ut_time_ms() need not be called while holding buf_pool_mutex.
  
  buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read
  buf_page_t::access_time without holding buf_pool_mutex. This should be
  OK, because the field is only used for heuristic purposes.
  
  buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return
  FALSE, so that we will not waste time moving blocks in the LRU list in
  the warm-up phase or when the workload fits in the buffer pool.
  
  rb://156 approved by Sunny Bains
modified:
  buf/buf0buf.c                  2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbuf%2Fbuf0buf.c
  include/buf0buf.h              2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Fbuf0buf.h
  include/buf0buf.ic             2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Fbuf0buf.ic
diff:
=== modified file 'buf/buf0buf.c'

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: