question about context switch on arm Linux
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
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
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
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