[PATCH] Allow drivers to map individual 4k pages to userspace

Paul Mackerras paulus at samba.org
Wed Apr 4 14:41:15 EST 2007


Roland Dreier writes:

> I assume this is an eHCA-specific problem.

Guilty as charged. :)

> Another approach is simply not to enable the other 4K pages that are
> exposed when mapping a 64K page into userspace - ie only use 1/16th of
> the available contexts.  Although perhaps eHCA has such a limited # of
> contexts that this is not practical.

I believe the hypervisor controls the allocation of contexts to
partitions, so this wouldn't be practical.

> The problem with this approach is that remap_4k_pfn is
> powerpc-specific, right?

It is powerpc-specific, but so is the eHCA driver...

>  For example, I don't believe that an ia64
> kernel running with 16K pages could implement this.  Which means that
> any driver that calls remap_4k_pfn is now powerpc-specific (or has an
> #ifdef to work around this).

I am a complete ia64-ignoramus, so I couldn't say whether ia64 could
do it or not.

> In fact my impression was that the powerpc MMU is not part of the
> architecture, in the sense that a new implementation could come along
> that supported 64K pages without the ability to do this 4K aliasing
> trick.  Which would make multiplatform kernels very painful, since
> remap_4k_pfn might work for some platforms the kernel could boot on.
> Or is this not a problem?

The PowerPC architecture distinguishes between server and embedded
processors.  The MMU is part of the architecture for server
processors, and is specified reasonably tightly.  For embedded there
is also a specification of the MMU but it is very loose.  In any case,
all PowerPC processors can do 4k pages, so I don't see any problem.

Paul.




More information about the Linuxppc-dev mailing list