Skip to content

Instantly share code, notes, and snippets.

@4ge32
Last active March 17, 2019 18:20
Show Gist options
  • Save 4ge32/2a0370ef7b15b5f8ec3f2945fd85c671 to your computer and use it in GitHub Desktop.
Save 4ge32/2a0370ef7b15b5f8ec3f2945fd85c671 to your computer and use it in GitHub Desktop.
  • PMEM as RAMがマージされた.not entirely happy らしいが,将来的な開発も含めてのことのよう.

  • PMEMがrepeat instructionsでエラーを起こしやすいのはブート時にRAMのようにscrubbedの必要がないから(scrubすれば良いような気もするが,memory modeだと多分されるような気がする,予想)

  • どうやらmcsafeを常に使ってpmemを読むらしい.ということは,System RAMだとしてもpmemがSystem ramとして登録されているということをカーネルは認識しているということになる.認識しているならmemcpy_mcsafe()が呼ばれるのはdrives/nvdimm/pmem.cから分かる.

  • 結局memcpy_mcsafe()が遅いっていうところがannoyingということなんだろうか.それだけだったようには思えないが?

Merge tag 'devdax-for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm


  • nvmem上でのrep; movs(repeat string instructions)の挙動を明確にする必要がある.nvmem上では上手く動作しないようだ?そのため, 通常のdramと完全に同様には扱えない可能性がある(intel dc persistent memory).

  • そのためnvmemのためにmemcpy_mcsafe()が導入された.memcpy_mcsafe()はストレージとして使用される不揮発性メモリの大規模アレイからコピーする,といったケースのために用意されている. 通常machine check exceptionはrep; movsで致命的なものとして扱われているようだが,memcpy_mcsafe()は例外が発生した場合は エラーを返すことができる.

  • intel dc persistent memoryをsystem ramとして扱おうとする前に,nvmem上でのrep;movsとmachine checkについてのふるまいを完全に明らかにする必要がある.

  • x86/mm, x86/mce: Add memcpy_mcsafe()

  • [GIT PULL] device-dax for 5.1: PMEM as RAM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment