Couldn't data in store buffer survive at the system fail? (about eADR)

70 views
Skip to first unread message

Shean Kim

unread,
Mar 8, 2021, 3:31:30 AM3/8/21
to pmem
Hi, all.

1) In my knowledge, eADR includes only up to L1 cache and not includes core's local store buffer. If system crash occured, couldn't data in store buffer survive on eADR enabled architecture? 

2) In the single core system, don't I have use 'sfence' command for global visibility on eADR enabled architecture?

3) I want to know exact store buffer size, but I couldn't find it at Intel homepage. How could I know the size of store buffer? My server is:

- Intel Xeon(R) Gold 5215M CPU @ 2.50GHz
- Intel Xeon(R) Platinum 8360Y CPU 2.4 GHz

Thank for reading.

Sincerly,
Shean Kim.

Andy Rudoff

unread,
Mar 8, 2021, 10:22:34 AM3/8/21
to pmem
Hi Shean,

On Monday, March 8, 2021 at 1:31:30 AM UTC-7 Shean Kim wrote:
Hi, all.

1) In my knowledge, eADR includes only up to L1 cache and not includes core's local store buffer. If system crash occured, couldn't data in store buffer survive on eADR enabled architecture? 

Yes, if I understand your question it is definitely possible for data in a store buffer to survive.  In fact, it is quite likely that the store buffers end up getting flushed as a side-effect of the actions taken for eADR.  It just isn't *guaranteed* that stores sitting in the store buffers are powerfail protected until they are pushed into the eADR domain.
 

2) In the single core system, don't I have use 'sfence' command for global visibility on eADR enabled architecture?

I'm not sure there is such a thing as a single-core system that supports pmem -- the models you listed below have 10 and 24 cores according to ark.intel.com.

Rather than answer your hypothetical case, I will re-iterate that eADR will persist stores that are globally-visible at the time of power loss.  How you make them globally-visible is up to you.
 

3) I want to know exact store buffer size, but I couldn't find it at Intel homepage. How could I know the size of store buffer? My server is:

- Intel Xeon(R) Gold 5215M CPU @ 2.50GHz
- Intel Xeon(R) Platinum 8360Y CPU 2.4 GHz

I'm not sure how to find out the exact size, but I noticed the answer on this StackOverflow question talks quite a bit about it and may be helpful:

Shean Kim

unread,
Mar 17, 2021, 11:19:29 AM3/17/21
to pmem
Thanks a lot!!

2021년 3월 9일 화요일 오전 12시 22분 34초 UTC+9에 Andy Rudoff님이 작성:
Reply all
Reply to author
Forward
0 new messages