On Tue, Apr 2, 2019 at 11:09 PM Thomas Munro <thomas.mu...@gmail.com> wrote: > I'm going to do some more testing and tidying tomorrow (for example I > think the segment.h header is silly and I'd like to remove that), and > commit this.
As a sanity check on the programming interface this thing gives you, I tried teaching the SLRUs to use the fsync queue. I finished up making a few small improvements, but the main thing I learned is that "handler" needs to be part of the hash table key. I suppose the discriminator could even be inside FileTag itself, but I chose to keep it separate and introduce a new struct to hold hander enum + FileTag in the hash table. The 0001 patch is what I'm going to commit soon. I don't know why Shawn measured a performance change -- a bug in an earlier version? -- I can't see it, but I'm planning to look into that a bit more first. I've attached the 0002 SLRU patch for interest, but I'm not planning to commit that one. -- Thomas Munro https://enterprisedb.com
0001-Refactor-the-fsync-queue-for-wider-use-v15.patch
Description: Binary data
0002-Use-the-fsync-queue-for-SLRU-files-v15.patch
Description: Binary data