Skip to contentSkip to conversation

question about context switch on arm Linux

DISCUSSION caiyuqing 2 participants 4 messages Oct 21, 2012

lore
Share & tools
lore

caiyuqing

author
#0 lore raw

hi, all.
I have some questions about context switch on arm Linux (my target is ARMv7-a).
1. Does arm linux support FCSE to handle the context switch?
2. If using FCSE, that means the processes number limit is 128 and the memory limit is 32MB per process, is that right?

Thanks
qing

#1 lore raw
Quoted 4 lines · caiyuqing

hi, all.
I have some questions about context switch on arm Linux (my target is ARMv7-a).
1. Does arm linux support FCSE to handle the context switch?

No, mainline Linux does not support FCSE. However, you can use Gilles' unoffical (but working) FCSE branches at

http://git.xenomai.org/?p=ipipe-gch.git;a=summary

Quoted 2 lines

2. If using FCSE, that means the processes number limit is 128 and the memory limit is 32MB per process, is that right?

Yes and no.

Gilles' patches offer a "strict mode" and a "best effort" mode. The strict mode does have the limitation, but the best effort mode does not.

HTH,
Richard

author
#2 lore raw
Quoted 12 lines · Richard Cochran
Quoted 4 lines · caiyuqing

hi, all.
I have some questions about context switch on arm Linux (my target is ARMv7-a).
1. Does arm linux support FCSE to handle the context switch?

No, mainline Linux does not support FCSE. However, you can use Gilles' unoffical (but working) FCSE branches at

http://git.xenomai.org/?p=ipipe-gch.git;a=summary

Quoted 2 lines

2. If using FCSE, that means the processes number limit is 128 and the memory limit is 32MB per process, is that right?

Quoted 8 lines

Yes and no.

Gilles' patches offer a "strict mode" and a "best effort" mode. The strict mode does have the limitation, but the best effort mode does not.

HTH,
Richard

Richard, thanks for your reply.
mainline Linux doesn't support FCSE, if so, when kernel switch a process to another(these two process share the same virtual memory space), that means the vitrual-to-physical address should be remaped, TLB shuold be invalid, CACHE should be flushed, right?

qing

#3 lore raw
Quoted 5 lines · caiyuqing

Richard, thanks for your reply.
mainline Linux doesn't support FCSE, if so, when kernel switch a process to another(these two process share the same virtual memory space), that means the vitrual-to-physical address should be remaped, TLB shuold be invalid, CACHE should be flushed, right?

Yes, and that is why you can measure quite a long context switching time when running Linux on ARMv4/5.

Thanks,
Richard