linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* PowerPC PPC32 CONFIG_HIGHMEM dependency question
@ 2014-03-17 17:41 Robert Johnson
  2014-03-18 10:54 ` Sebastian Andrzej Siewior
  0 siblings, 1 reply; 4+ messages in thread
From: Robert Johnson @ 2014-03-17 17:41 UTC (permalink / raw)
  To: linux-rt-users@vger.kernel.org

I am using an embedded single board computer (SBC) that has a Freescale P2020 processor.  The vendor board support package (BSP) for this product currently uses a 3.0.4 Linux kernel.  In looking through the RT patch for various Linux kernel versions even up through 3.12.13-rt21, I see that CONFIG_HIGHMEM is not allowed if CONFIG_PREEMPT_RT_FULL is selected (see arch/powerpc/Kconfig).

The result for my SBC is that if I enable CONFIG_PREEMPT_RT_FULL in the kernel, I am then only able to access 1GB of RAM instead of the 4GB that is resident.

Is there any way to get CONFIG_PREEMPT_RT_FULL to work with CONFIG_HIGHMEM?

If I want to use CONFIG_HIGHMEM, should I consider the use of CONFIG_PREEMPT_RTB which does not appear to have a dependency?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: PowerPC PPC32 CONFIG_HIGHMEM dependency question
  2014-03-17 17:41 PowerPC PPC32 CONFIG_HIGHMEM dependency question Robert Johnson
@ 2014-03-18 10:54 ` Sebastian Andrzej Siewior
  2014-03-21 15:12   ` Robert Johnson
  0 siblings, 1 reply; 4+ messages in thread
From: Sebastian Andrzej Siewior @ 2014-03-18 10:54 UTC (permalink / raw)
  To: Robert Johnson; +Cc: linux-rt-users@vger.kernel.org

* Robert Johnson | 2014-03-17 17:41:25 [+0000]:

>I am using an embedded single board computer (SBC) that has a Freescale P2020 processor.  The vendor board support package (BSP) for this product currently uses a 3.0.4 Linux kernel.  In looking through the RT patch for various Linux kernel versions even up through 3.12.13-rt21, I see that CONFIG_HIGHMEM is not allowed if CONFIG_PREEMPT_RT_FULL is selected (see arch/powerpc/Kconfig).
>
>The result for my SBC is that if I enable CONFIG_PREEMPT_RT_FULL in the kernel, I am then only able to access 1GB of RAM instead of the 4GB that is resident.

For 2 GiB you could move the memory mapping to something like 1.5GiB
userland, 2.GiB kernel and the remaining 500MiB for virtual.

>Is there any way to get CONFIG_PREEMPT_RT_FULL to work with CONFIG_HIGHMEM?

Yes. The trick is to look either at the ARM code or at the x86 code and
do something similar for powerpc.

>If I want to use CONFIG_HIGHMEM, should I consider the use of CONFIG_PREEMPT_RTB which does not appear to have a dependency?

You could CONFIG_PREEMPT_RT_BASE with CONFIG_HIGHMEM, yes. But then
don't complain about your latency which will be higher compared to
_FULL. Again: CONFIG_PREEMPT_RT_BASE is only debugging option.

Sebastian

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: PowerPC PPC32 CONFIG_HIGHMEM dependency question
  2014-03-18 10:54 ` Sebastian Andrzej Siewior
@ 2014-03-21 15:12   ` Robert Johnson
  2014-03-21 20:02     ` Sebastian Andrzej Siewior
  0 siblings, 1 reply; 4+ messages in thread
From: Robert Johnson @ 2014-03-21 15:12 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior; +Cc: linux-rt-users@vger.kernel.org

>> Robert Johnson | 2014-03-17 17:41:25 [+0000]:
>> Is there any way to get CONFIG_PREEMPT_RT_FULL to work with CONFIG_HIGHMEM?

> Sebastian Andrzej Siewior | 2014-03-18 03:55:
> Yes. The trick is to look either at the ARM code or at the x86 code and do something similar for powerpc.

Which ARM and x86 source files should be referenced?

Which powerpc source files would need to be modified?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: PowerPC PPC32 CONFIG_HIGHMEM dependency question
  2014-03-21 15:12   ` Robert Johnson
@ 2014-03-21 20:02     ` Sebastian Andrzej Siewior
  0 siblings, 0 replies; 4+ messages in thread
From: Sebastian Andrzej Siewior @ 2014-03-21 20:02 UTC (permalink / raw)
  To: Robert Johnson; +Cc: linux-rt-users@vger.kernel.org

* Robert Johnson | 2014-03-21 15:12:20 [+0000]:

>>> Robert Johnson | 2014-03-17 17:41:25 [+0000]:
>>> Is there any way to get CONFIG_PREEMPT_RT_FULL to work with CONFIG_HIGHMEM?
>
>> Sebastian Andrzej Siewior | 2014-03-18 03:55:
>> Yes. The trick is to look either at the ARM code or at the x86 code and do something similar for powerpc.
>
>Which ARM and x86 source files should be referenced?
>
>Which powerpc source files would need to be modified?

In the queue there is

| # KMAP/HIGHMEM
| mm-rt-kmap-atomic-scheduling.patch
| 0002-x86-highmem-add-a-already-used-pte-check.patch
| 0003-arm-highmem-flush-tlb-on-unmap.patch
| arm-enable-highmem-for-rt.patch

which should cover x86 and arm. And now you need to do something like
that for powerpc.

Sebastian

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-03-21 20:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-17 17:41 PowerPC PPC32 CONFIG_HIGHMEM dependency question Robert Johnson
2014-03-18 10:54 ` Sebastian Andrzej Siewior
2014-03-21 15:12   ` Robert Johnson
2014-03-21 20:02     ` Sebastian Andrzej Siewior

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).