@@ -528,8 +528,13 @@ pm_buf_write(
528
528
// UNIV_MEM_ASSERT_RW(src_data, page_size);
529
529
530
530
// PMEM_HASH_KEY(hashed, page_id.fold(), PMEM_N_BUCKETS);
531
- hashed = hash_f1 (page_id.space (),
532
- page_id.page_no (), PMEM_N_BUCKETS, PMEM_PAGE_PER_BUCKET_BITS);
531
+ #if defined (UNIV_PMEMOBJ_BUF_PARTITION)
532
+ PMEM_LESS_BUCKET_HASH_KEY (hashed,page_id.space (), page_id.page_no ());
533
+ #else // EVEN_BUCKET
534
+ PMEM_HASH_KEY (hashed, page_id.fold (), PMEM_N_BUCKETS);
535
+ #endif
536
+ // hashed = hash_f1(page_id.space(),
537
+ // page_id.page_no(), PMEM_N_BUCKETS, PMEM_PAGE_PER_BUCKET_BITS);
533
538
534
539
retry:
535
540
// the safe check
@@ -779,8 +784,13 @@ pm_buf_write_no_free_pool(
779
784
// UNIV_MEM_ASSERT_RW(src_data, page_size);
780
785
781
786
// PMEM_HASH_KEY(hashed, page_id.fold(), PMEM_N_BUCKETS);
782
- hashed = hash_f1 (page_id.space (),
783
- page_id.page_no (), PMEM_N_BUCKETS, PMEM_PAGE_PER_BUCKET_BITS);
787
+ #if defined (UNIV_PMEMOBJ_BUF_PARTITION)
788
+ PMEM_LESS_BUCKET_HASH_KEY (hashed,page_id.space (), page_id.page_no ());
789
+ #else // EVEN_BUCKET
790
+ PMEM_HASH_KEY (hashed, page_id.fold (), PMEM_N_BUCKETS);
791
+ #endif
792
+ // hashed = hash_f1(page_id.space(),
793
+ // page_id.page_no(), PMEM_N_BUCKETS, PMEM_PAGE_PER_BUCKET_BITS);
784
794
785
795
786
796
retry:
@@ -973,8 +983,13 @@ pm_buf_write_with_flusher(
973
983
974
984
// PMEM_HASH_KEY(hashed, page_id.fold(), PMEM_N_BUCKETS);
975
985
976
- hashed = hash_f1 (page_id.space (),
977
- page_id.page_no (), PMEM_N_BUCKETS, PMEM_PAGE_PER_BUCKET_BITS);
986
+ #if defined (UNIV_PMEMOBJ_BUF_PARTITION)
987
+ PMEM_LESS_BUCKET_HASH_KEY (hashed,page_id.space (), page_id.page_no ());
988
+ #else // EVEN_BUCKET
989
+ PMEM_HASH_KEY (hashed, page_id.fold (), PMEM_N_BUCKETS);
990
+ #endif
991
+ // hashed = hash_f1(page_id.space(),
992
+ // page_id.page_no(), PMEM_N_BUCKETS, PMEM_PAGE_PER_BUCKET_BITS);
978
993
979
994
retry:
980
995
// the safe check
@@ -1561,8 +1576,13 @@ pm_buf_read(
1561
1576
// bytes_read = 0;
1562
1577
1563
1578
// PMEM_HASH_KEY(hashed, page_id.fold(), PMEM_N_BUCKETS);
1564
- hashed = hash_f1 (page_id.space (),
1565
- page_id.page_no (), PMEM_N_BUCKETS, PMEM_PAGE_PER_BUCKET_BITS);
1579
+ #if defined (UNIV_PMEMOBJ_BUF_PARTITION)
1580
+ PMEM_LESS_BUCKET_HASH_KEY (hashed,page_id.space (), page_id.page_no ());
1581
+ #else // EVEN_BUCKET
1582
+ PMEM_HASH_KEY (hashed, page_id.fold (), PMEM_N_BUCKETS);
1583
+ #endif
1584
+ // hashed = hash_f1(page_id.space(),
1585
+ // page_id.page_no(), PMEM_N_BUCKETS, PMEM_PAGE_PER_BUCKET_BITS);
1566
1586
TOID_ASSIGN (cur_list, (D_RO (buf->buckets )[hashed]).oid );
1567
1587
if ( TOID_IS_NULL (cur_list)) {
1568
1588
// assert(!TOID_IS_NULL(cur_list));
0 commit comments