Re: PATCH: EDAC - clean up atomic stuff

From: Eric W. Biederman
Date: Tue Nov 01 2005 - 07:46:19 EST


Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> writes:

>> There is a much more serious bug there as well. The code as it
>> exists is flatly impossible on x86_64 and some other architectures
>> as they do not support kmap. It is also broken on x86 as grain can
>
> All platforms have kmap. On systems without "highmem" the kmap functions
> simply return the page address of the existing permanent physical
> mapping for the page. See include/linux/highmem.h

Duh, I just looked again. I knew we had kmap, I had thought kmap_atomic
was special enough that it wasn't always there. I'm wrong.

> So it's all fine and larger than page sized scrubs can be added to the
> core code when they are needed.

The set of memory controllers where software scrubbing is interesting
and the set of memory controllers that need larger than page sized scrubs
intersect quite strongly. Although I don't think any of those
memory controllers ever migrated over from the old ecc.c code base.
We should at least have a BUG_ON((offset+size) > PAGE_SIZE) so we
don't forget to fix it.

Eric

-
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/