Re: [PATCH] [13/16] HWPOISON: The high level memory error handler in the VM v3

Wu Fengguang
2009-05-28T11:04:21Z

On Thu, May 28, 2009 at 06:51:03PM +0800, Andi Kleen wrote:
> On Thu, May 28, 2009 at 06:33:00PM +0800, Wu Fengguang wrote:
> > > > > You haven't waited on writeback here AFAIKS, and have you
> > > > > *really* verified it is safe to call delete_from_swap_cache?
> > > >
> > > > Good catch. I'll soon submit patches for handling the under
> > > > read/write IO pages. In this patchset they are simply ignored.
> > >
> > > Yes, we assume the IO device does something sensible with the poisoned
> > > cache lines and aborts. Later we can likely abort IO requests in a early
> > > stage on the Linux, but that's more advanced.
> > >
> > > The question is if we need to wait on writeback for correctness?
> >
> > Not necessary. Because I'm going to add a me_writeback() handler.
>
> Ok but without it. Let's assume me_writeback() is in the future.
>
> I'm mainly interested in correctness (as in not crashing) of this
> version now.

OK. But I suspect it doesn't matter whether to wait on the writeback
page in the sense of "don't crash".

> Also writeback seems to be only used by nfs/afs/nilfs2, not in
> the normal case, unless I'm misreading the code.
>
> The nilfs2 case seems weird, I haven't completely read that.

I'll take a look at that :)

> > Then the writeback pages simply won't reach here. And it won't
> > magically go into writeback state, since the page has been locked.
>
> But since we take the page lock they should not be in writeback anyways,
> no?

No, writeback pages are normally not locked. But the dirty => writeback
transition is locked.

Thanks,
Fengguang