Done
Details
Assignee
UnassignedUnassignedReporter
lpjirasynclpjirasync(Deactivated)Priority
Low
Details
Details
Assignee
Unassigned
UnassignedReporter
lpjirasync
lpjirasync(Deactivated)Priority
Smart Checklist
Smart Checklist
Smart Checklist
Created January 22, 2018 at 6:41 PM
Updated January 22, 2018 at 6:41 PM
Resolved January 22, 2018 at 6:41 PM
**Reported in Launchpad by Laurynas Biveinis last update 12-09-2013 07:30:06
The buffer pool mutex split patch in 5.1 and 5.5 patches struct buf_page_struct to remove
UT_LIST_NODE_T(buf_page_t) list;
and to add
/* resplit for optimistic use */
UT_LIST_NODE_T(buf_page_t) free;
UT_LIST_NODE_T(buf_page_t) flush_list;
UT_LIST_NODE_T(buf_page_t) zip_list; /* zip_free[] */
instead. The goal of this patching is not clear. Having separate list nodes would suggest that a buffer page might be present in two or three of these list simultaneously, but that's not done (and impossible to do, and I don't see what sense would this make) in the current code. Thus, the only visible effect is, quoting Alexey -
>> On the other hand, we are looking at a non-trivial buf_page_t size
>> increase (112 bytes before the patch, 144 bytes after). Leaving all
>> cache and memory locality questions aside, thats 64 MB of memory
>> just for list node pointers on a system with a 32 GB buffer pool.
They are being removed in the 5.6 port in progress. This bug is to remove them from 5.5 as well.