Hello Eng. Don,

I am using Gem5 for the same purpose which is real-time scheduling on
multi-core systems.
According my question :
http://www.mail-archive.com/[email protected]/msg03317.html
I have understood that in order to use scheduling algorithm of the tasks ,i
should modify in the linux kernel.

So i need to ask some questions:
1.In order ,to use scheduling ,Have you set up the full system mode ?

2.Do you modify in the linux kernel to make scheduling ?

3.If the answer of previous question is No,So how will you do to make
scheduling for tasks?

4.Finally,which class or part in the Gem5 i should start understanding in
order to make scheduling especially that i am a new user?

I would appreciate it if you could reply me at your earliest convenience.

Thank you in advance for your time and support.
Best Regards
Wael Amr



On Thu, May 24, 2012 at 10:35 PM, Ali Saidi <[email protected]> wrote:

> **
>
> On 24.05.2012 13:21, D K wrote:
>
>  Hello,
> we are doing a project on real-time scheduling on multi-core systems.
> Right now I am looking for the possibility of using Gem5 as a simulation
> environment for testing different scheduling policies for multi-core
> systems.
>
> For the simulation we need a minimum 4 arm cores. each running a minimum
> software with a main while(1) loop and an timer interrupt handler.
>
>  You should be able to create some bare metal code that you run that
> would do this for you. You can read the CPU id out of the MPIDR register
> and create a little bit of stub code that maps the interrupt vector to your
> ISR and progams up one of the timers to interrupt the CPUs.
>
>
> Inside the timer ISR, I call the schedule function which updates the next
> ready task to be executed according to some policy.
> Inside the main loop,some dummy task will be executed.
>
> 1.I have got the simulation run the Linux kernel but I prefer to make a
> standalone scheduler with some dummy tasks to keep the system simple.Is
> there an example which illustrates such a minimum system?
>
>  You could probably start with the bootloader code in boot/arm/. Assuming
> you fence off some areas for a stack for each code you should be able to
> run C code without too much effort.
>
>
>
> 2.Is it possible to use gdb to debug such a standalone application running
> without kernel?
>
> remote gdb support will work just the same with and without the kernel.
>
>
>
> 3.Is it possible to select the arbitration policy of bus.
> for example to select TDMA or Round-robin and specify the parameters eg.
> time quanta for TDMA ?does Gem5 models AMBA bus ?
>
>  You would need to modify the bus to enforce whatever policy you wanted.
>
>
>
> 4.How do I program the timer such that it send timer interrupt to all
> cores. How is the mapping of timer ISR handled? Is there a documentation
> which explains this?
>
> Depending on which timer you would like to use (SP804 or CPU local timer),
> they are documented on arm's website infocenter.arm.com. You'll need to
> configure the GIC to either broadcast the interrupt to all cores, or
> configure each interrupt to only interrupt
> Thanks,
> Ali
>
>
> Thanks in advance..
>  kind regards,
> Don Kuzhiyelil
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to