[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
changing memory managment under linux with RTAI for x86
Hi,
We are wandering ... and wondering ...
We are developing a real-time embedded system under Linux in combination
with RTAI.
For now we use a 486 board.
The system does not have a swap partition, ( it's embedded ) and paging is
not needed.
While testing we found that we got some undesireble effects : The system
seems to have
trouble with CPU's cache. Its getting flushed too often we feel.
This is done whenever linux is doing work ( sceduling and executing
userland) then
when we comeback to our real-time tasks in kernel mode we are flushed out of
cache.
We got this feeling while comparing the performance to another RTOS on the
same hardware.
Under real stress the other OS doesn't.... so where is the difference and
why, and what can we do ?
Of course this other RTOS has a different style of memory management!!
It is using the full physical memory but has no knowledge of paging, and
does not use the MMU.
But of course we want to have some memory protection.
After finding and reading a lot for a week on the internet we 're stuck.
Question : We are wondering if linux could use a type of memory management
where the
physical memory is mapped exactly on the kernel and user adress space while
still protecting the memory.
This could ease and speed-up our application when sharing memory between
kernel/userspace because then we do not need to translate adresses and
reprogram the mmu ?
Question : Could this prevent TLB flushing and extra cache misses ?
Question : Linux is using segmentation, so every application starts at 0
....
Changing the memory model has major influence on this....
( So a lot of people will hate the idea alone )
But not every processor has segmentation capabilities, so could we borrow
code from another arch?
Any help appriciated.
Johan
--------------------------------------------------------------------------
DISCLAIMER:
The information contained in this communication is confidential and may be legally privileged. It is intended solely for the use of the individual or entity to whom it is addressed and others authorized to receive it. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or taking any action in reliance of the contents of this information is strictly prohibited and may be unlawful. Stork is neither liable for the proper and complete transmission of the information contained in this communication nor for any delay in its receipt.
--
Linux-mm-www: http://linux-mm.org/ website maintenance list
Archive: http://mail.nl.linux.org/linux-mm-www/
Development: linux-mm@kvack.org