-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MDEV-9905 Redolog for NVDIMM in MariaDB #1689
base: 10.5
Are you sure you want to change the base?
Conversation
1)Add feature: use PMDK interface instead of POSIX interface to read and write redolog 2)Add building and running parameters, PMDK will be use when build with '-DBUILD_WITH_PMDK=1' and run with 'innodb_use_pmdk=on'
xinlongli seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
The patch is submitted according to MCA terms. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We got something similar in daaa881 and 3daef52 already. But, as far as I understand, we do not currently build packages that would include the libpmem
dependency.
My intention is to implement deeper integration of InnoDB redo log writing with persistent memory, ideally bypassing the library and manually implementing the interface. Basically, when available, I would like to mmap(MAP_SYNC)
the "ib_logfile0"
to log_sys.buf
and directly write the data there (performing clflush
of 4 cache lines at a time to write it in 256-byte blocks, which I hear is the native block size).
I think that I would have to resume the MDEV-14425 implementation before I can move forward with that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
About the read, when read the PMEM data to the memory buffer, just use the memcpy is OK, don't use the pmem_memcpy_nodrain, since this will flush the cacheline data, it is not necessary here.
Thank you for the comment. That is in line with my understanding. When we read the log during recovery, there should be no concurrent writes. When I intend to change the InnoDB redo log block format in MariaDB Server 10.7, and I have been thinking of making @guoanwu Our current implementation is only invoking |
1)Add feature: use PMDK interface instead of POSIX interface to
read and write redolog
2)Add building and running parameters, PMDK will be use when
build with '-DBUILD_WITH_PMDK=1' and run with 'innodb_use_pmdk=on'