Re: [PATCH] [16/19] HWPOISON: Enable .remove_error_page for migration aware file systems

From: Hidehiro Kawai
Date: Wed Aug 12 2009 - 05:52:29 EST


Andi Kleen wrote:

>>Generally, dropping unwritten dirty page caches is considered to be
>>risky. So the "panic on IO error" policy has been used as usual
>>practice for some systems. I just suggested that we adopted
>>this policy into machine check errors.
>
> Hmm, what we could possibly do -- as followon patches -- would be to
> let error_remove_page check the per file system panic-on-io-error
> super block setting for dirty pages and panic in this case too.
> Unfortunately this setting is currently per file system, not generic,
> so it would need to be a fs specific check (or the flag would need
> to be moved into a generic fs superblock field first)

A generic setting would be better, so I suggested
panic_on_dirty_page_cache_corruption flag which would be checked
before invoking error_remove_page(). If we check per-filesystem
settings, we might want to notify EIO to the filesystem.

> I think that would be relatively clean semantics wise. Would you be
> interested in working on patches for that?

Yes. :-)
I will work on this as soon as I come back from summer vacation.

>>Another option is to introduce "ignore all" policy instead of
>>panicking at the beginig of memory_failure(). Perhaps it finally
>>causes SRAR machine check, and then kernel will panic or a process
>>will be killed. Anyway, this is a topic for the next stage.
>
> The problem is memory_failure() would then need to start distingushing
> between AR=1 and AR=0 which it doesn't today.
>
> It could be done, but would need some more work.

It's my understanding that memory_failure() are never called in
AR=1 case. Is it wrong?

Thanks,
--
Hidehiro Kawai
Hitachi, Systems Development Laboratory
Linux Technology Center

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/