[GSoC] BAT vs Pages on PowerPC [Please give a feedback]
Chris Johns
chrisj at rtems.org
Sun Jun 23 01:46:43 UTC 2013
Thomas Dörfler wrote:
>
> please note that some PPC derivatives (especially those for embedded
> projects) usually have eight DBATs and eight IBATs. This feature must be
> enabled (e.g. in a 603e core) with a special bit in one of the HID
> registers, but it will put the number of BAT ranges closer to what is
> needed in embedded computing.
Yes this is currently true. I also see an emerging range of applications
where dynamic control of memory is important.
> The advantage of BATs versus pages is definitively, that they usually
> get set up ONCE during startup and, due to their flexible size, will not
> need to be reloaded.
I understand this is important for some applications. I have used VM and
MMU features in application specific ways dating back to the 68010
(68070) where the use was dynamic.
> Note that the pages usually only cover 4K of
> memory, and the "translation lookaside buffer" (TLB) only maintains the
> last 16-64 used pages,
The ARM which I am currently using and have handy seems to support 1MB,
64K and 4K ranges depending on the TLB table level used. I would be
surprised if an entry was needed for each page in use.
> so there is always code involed reloading the
> required page info into the TLB.
Are you sure ? I though this depended on the set up and configuration
and if the entries are locked or not. My view is the API is to provide
access to the available resources and if there is abuse it will result
in the situation you are suggesting. If the fault handler generates an
error the user will soon understand the limitation.
> IMHO this reduces the realtime performance of the system.
Yes it will if we attempt to implemented a full VM with fault handling,
however I am not sure this is the case if the number of TLB entries
matches the number the device can manage (cache).
>
> In short: Supporting both (BATs and pages) in libmm would be a good feature.
>
I agree with Gedare comments and approach, at the low level yes fine and
what happens at the API I am not sure.
Chris
More information about the devel
mailing list