List:Maria Storage Engine« Previous MessageNext Message »
From:Guilhem Bichot Date:October 14 2008 12:16pm
Subject:bzr commit into MySQL/Maria:mysql-maria branch (guilhem:2677) WL#4595
View as plain text  
#At bzr+ssh://bk-internal.mysql.com/bzrroot/server/mysql-maria/

 2677 Guilhem Bichot	2008-10-14
      WL#4595 "Maria - no write-lock when pinning bitmap pages": turns out that page cache
      already supports pin-without-lock so implementation of this WL is instant and
      done here. This could improve concurrency. No testcase, this requires
      multiple threads and is automatically tested at push time by maria_stress.yy (pushbuild2).
modified:
  storage/maria/ma_bitmap.c

per-file messages:
  storage/maria/ma_bitmap.c
    As the page cache supports pinning without write-locking, we don't take write lock
    in write_changed_bitmap(), only a pin; this could improve concurrency (WL#4595).
=== modified file 'storage/maria/ma_bitmap.c'
--- a/storage/maria/ma_bitmap.c	2008-10-14 09:38:07 +0000
+++ b/storage/maria/ma_bitmap.c	2008-10-14 12:16:10 +0000
@@ -167,10 +167,10 @@ static inline my_bool write_changed_bitm
     int res= pagecache_write(share->pagecache,
                              &bitmap->file, bitmap->page, 0,
                              (uchar*) bitmap->map, PAGECACHE_PLAIN_PAGE,
-                             PAGECACHE_LOCK_WRITE, PAGECACHE_PIN,
+                             PAGECACHE_LOCK_LEFT_UNLOCKED, PAGECACHE_PIN,
                              PAGECACHE_WRITE_DELAY, &page_link.link,
                              LSN_IMPOSSIBLE);
-    page_link.unlock= PAGECACHE_LOCK_WRITE_UNLOCK;
+    page_link.unlock= PAGECACHE_LOCK_LEFT_UNLOCKED;
     page_link.changed= 1;
     push_dynamic(&bitmap->pinned_pages, (void*) &page_link);
     DBUG_RETURN(res);

Thread
bzr commit into MySQL/Maria:mysql-maria branch (guilhem:2677) WL#4595Guilhem Bichot14 Oct