This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Support for Intel X1000


On Wed, May 20, 2015 at 01:54:13PM +0000, Kinsella, Ray wrote:
> 
> > I did a little bit of research and it appears that only lock-prefixed
> > instructions which can page fault are affected by this bug. So why not
> > just make the kernel enforce mlockall for all processes on affected
> > cpus? 
> 
> mlockall doesn't help in situations where a page is marked as CoW, you
> still get the page fault on write (i.e. lock cmpxchg -
> read/modify/write). 

If this is true, it's a bug in the implementation of mlockall. The
whole point of memory locking is to prevent the need to allocate
memory at page fault time, which matters for multiple reasons,
including at least:

1. Real-time applications that can't accept the possible latency.
2. Reasons related to commit charge/overcommit/OOM-killer.

> > I'm not clear on whether the bug crashes the whole system or
> > just clobbers the user process state in an unrecoverable way, but if
> > it's the latter, only writable pages would need to be locked;
> > read-only pages could still be paged normally.
> 
> It clobbers the process the process state in an unrecoverable way. The
> problem doesn't affect the Kernel, as the Kernel doesn't page fault.  

In that case I think mlockall (with the above bug fixed) is a viable
kernel-side workaround.

Rich


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]