lkml.org 
[lkml]   [2011]   [May]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 5/9] HWPoison: add memory_failure_queue()

* Huang Ying <ying.huang@intel.com> wrote:

> >> - How to deal with ring-buffer overflow? For example, there is full of
> >> corrected memory error in ring-buffer, and now a recoverable memory error
> >> occurs but it can not be put into perf ring buffer because of ring-buffer
> >> overflow, how to deal with the recoverable memory error?
> >
> > The solution is to make it large enough. With *every* queueing solution there
> > will be some sort of queue size limit.
>
> Another solution could be:
>
> Create two ring-buffer. One is for logging and will be read by RAS
> daemon; the other is for recovering, the event record will be removed
> from the ring-buffer after all 'active filters' have been run on it.
> Even RAS daemon being restarted or hang, recoverable error can be taken
> cared of.

Well, filters will always be executed since they execute when the event is
inserted - not when it's extracted.

So if you worry about losing *filter* executions (and dependent policy action)
- there should be no loss there, ever.

But yes, the scheme you outline would work as well: a counting-only event with
a filter specified - this will do no buffering at all.

So ... to get the ball rolling in this area one of you guys active in RAS
should really try a first approximation for the active filter approach: add a
test-TRACE_EVENT() for the errors you are interested in and define a convenient
way to register policy action with post-filter events. This should work even
without having the 'active' portion defined at the ABI and filter-string level.

Thanks,

Ingo


\
 
 \ /
  Last update: 2011-05-24 04:55    [W:0.073 / U:37.104 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site