[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] How to preempt a thread?
Hi, I'm trying to run ocaml bare-metal on a RaspberryPi. Since the RPi only has an ARMv6 cpu it has no virtualization extension and running mirage under xen is not an option. :( But I'm basically doing the same as mirage I was hopeing I could borrow some knowledge from you. My question concerns threading. 1) How have you implemented this at all in mirage? Did you rewrite the thread module or provide the pthread api/abi so the existing module works? 2) CPU hogging My understanding is that normal native code sets a timer in the threading module. When the timer expires it plays with the minor heap limit to trick the GC into running on the next allocation and hooks the scheduling into that. So it is not truely preemptive and a thread that doesn't do any allocations will hog the CPU. Have you addressed this problem, if at all, in mirage? MfG Goswin PS: If I get enough hardware drivers working I might work on merging with mirage, getting it to boot on bare-metal arms without xen.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |