Re: [PATCH] 2.3.14: bug-fix for raw IO error recovery

Stephen C. Tweedie (sct@redhat.com)
Thu, 26 Aug 1999 22:48:11 +0100 (BST)


Hi,

Andrea Arcangeli writes:

> Currently I am using this check the bigmem patch:
>
> + if (map && PageBIGMEM(map))

Can we do this a different way? If we can add a predicate macro
PAGE_VALID_FOR_IO(struct page *page, dev_t dev), then we can use that
instead.

The reason why I want the more complex structure is that once we go
beyond 4G physical memory, the addresses up to 4G will be valid for
most block device IO (some PCI controllers die at 2G --- yuck).
However, addresses above that will only be usable to device drivers
which support 64-bit Dual Address Cycle PCI addressing, and we will
need a transparent mechanism to tell us which addresses can do IO
directly on specific devices and which addresses will need bounce
buffers.

For now, the PAGE_VALID_FOR_IO() can translate down to a PageBIGMEM
test with no change in the generated code.

--Stephen

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