Re: One HMP issue over TC2
After I further disable CONFIG_DISABLE_CPU_SCHED_DOMAIN_BALANCE option, seems things get better now. And thread now could be distributed across the cluster. One more question here, seems it is interesting to see that when A7 and A15 both are running at same frequency, their calculation capacity seems the same, which is proved by this fixed loaded test case. Is there anyone has any idea why it could happen? Shouldn't A15's calculation power is stronger than A7? Then why the fixed load program would be finished with same time for both CPU? Thanks, Lei On Thu, Jun 27, 2013 at 5:38 PM, Lei Wen wrote: > Sorry for inconvenience, as my bad mail editor... > Change the mail subject to the corrected one > > On Thu, Jun 27, 2013 at 5:34 PM, Lei Wen wrote: >> Hi Morten and list, >> >> I am current investigating HMP related stuff over TC2 platform, and >> find a strange issue. >> Here I have two module, both are creating fixed loaded thread, but one >> module would >> bound those thread to the cpu, while another don't do the bound operation. >> >> [I test with linaro 2013.05 release to get below result] >> With setting A7/A15 to the same frequency, 1G, >> The result is: >> Bounded one: >> Five thread finished with 137s/137s/137s/138s/138s >> >> unbounded one(With HMP related configuration enabled, which is the default >> one): >> Five thread finished with 138s/275s/275s/275s/275s >> >> unbounded one(With HMP related configuration disabled): >> Five thread finished with 228s/229s/229s/229s/231s >> >> So it seems to me, that current configuration don't make TC2 to run in >> its full performance. >> It worries me for it may downgrade the benchmark for somehow. >> >> I haven't see into details, just post the result here to get your >> guys' feedback. >> While I get more detailed analysis, I would also post it here. >> >> Thanks, >> Lei ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
One HMP issue over TC2
Sorry for inconvenience, as my bad mail editor... Change the mail subject to the corrected one On Thu, Jun 27, 2013 at 5:34 PM, Lei Wen wrote: > Hi Morten and list, > > I am current investigating HMP related stuff over TC2 platform, and > find a strange issue. > Here I have two module, both are creating fixed loaded thread, but one > module would > bound those thread to the cpu, while another don't do the bound operation. > > [I test with linaro 2013.05 release to get below result] > With setting A7/A15 to the same frequency, 1G, > The result is: > Bounded one: > Five thread finished with 137s/137s/137s/138s/138s > > unbounded one(With HMP related configuration enabled, which is the default > one): > Five thread finished with 138s/275s/275s/275s/275s > > unbounded one(With HMP related configuration disabled): > Five thread finished with 228s/229s/229s/229s/231s > > So it seems to me, that current configuration don't make TC2 to run in > its full performance. > It worries me for it may downgrade the benchmark for somehow. > > I haven't see into details, just post the result here to get your > guys' feedback. > While I get more detailed analysis, I would also post it here. > > Thanks, > Lei #include #include #include #include #include #include #include #include #include #define LOOP_NUM 0x100 #define REPEAT_NUM 0x2000 static int busy_loop_test(void *data) { int i, n = (int)data, j; struct timeval tv0, tv1; long us; unsigned long lpj; j = 0; do_gettimeofday(&tv0); repeat: for (i = 0; i < LOOP_NUM; i ++) cpu_relax(); schedule(); if (j ++ < REPEAT_NUM) goto repeat; do_gettimeofday(&tv1); us = tv1.tv_usec - tv0.tv_usec; us += (tv1.tv_sec - tv0.tv_sec) * 100; printk("thread%d(%d) finish with time %d us (%d:%d)\n", n, smp_processor_id(), us, tv1.tv_sec - tv0.tv_sec, tv1.tv_usec- tv0.tv_usec); return 0; } #define THREAD_NUM 5 static int __init sched_test_init(void) { struct task_struct *t; struct dentry *file; struct task_struct *p[THREAD_NUM]; int i; for (i = 0; i < THREAD_NUM; i ++) { p[i] = kthread_create_on_node(busy_loop_test, i, cpu_to_node(i), "busy_loop/%d", i); get_task_struct(p[i]); kthread_bind(p[i], i); } for (i = 0; i < THREAD_NUM; i ++) wake_up_process(p[i]); return 0; } static void __exit sched_test_exit(void) { } module_init(sched_test_init); module_exit(sched_test_exit); MODULE_LICENSE("GPL"); #include #include #include #include #include #include #include #include #include #define LOOP_NUM 0x100 #define REPEAT_NUM 0x2000 static int busy_loop_test(void *data) { int i, n = (int)data, j; struct timeval tv0, tv1; long us; unsigned long lpj; j = 0; do_gettimeofday(&tv0); repeat: for (i = 0; i < LOOP_NUM; i ++) cpu_relax(); schedule(); if (j ++ < REPEAT_NUM) goto repeat; do_gettimeofday(&tv1); us = tv1.tv_usec - tv0.tv_usec; us += (tv1.tv_sec - tv0.tv_sec) * 100; printk("thread%d(%d) finish with time %d us (%d:%d)\n", n, smp_processor_id(), us, tv1.tv_sec - tv0.tv_sec, tv1.tv_usec- tv0.tv_usec); return 0; } #define THREAD_NUM 5 static int __init sched_test_init(void) { struct task_struct *t; struct dentry *file; struct task_struct *p[THREAD_NUM]; int i; for (i = 0; i < THREAD_NUM; i ++) { p[i] = kthread_create_on_node(busy_loop_test, i, -1, "busy_loop/%d", i); get_task_struct(p[i]); } for (i = 0; i < THREAD_NUM; i ++) wake_up_process(p[i]); return 0; } static void __exit sched_test_exit(void) { } module_init(sched_test_init); module_exit(sched_test_exit); MODULE_LICENSE("GPL"); ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
cx...@marvell.com, wwan...@marvell.com, yta...@marvell.com, lei...@marvell.com
Hi Morten and list, I am current investigating HMP related stuff over TC2 platform, and find a strange issue. Here I have two module, both are creating fixed loaded thread, but one module would bound those thread to the cpu, while another don't do the bound operation. [I test with linaro 2013.05 release to get below result] With setting A7/A15 to the same frequency, 1G, The result is: Bounded one: Five thread finished with 137s/137s/137s/138s/138s unbounded one(With HMP related configuration enabled, which is the default one): Five thread finished with 138s/275s/275s/275s/275s unbounded one(With HMP related configuration disabled): Five thread finished with 228s/229s/229s/229s/231s So it seems to me, that current configuration don't make TC2 to run in its full performance. It worries me for it may downgrade the benchmark for somehow. I haven't see into details, just post the result here to get your guys' feedback. While I get more detailed analysis, I would also post it here. Thanks, Lei #include #include #include #include #include #include #include #include #include #define LOOP_NUM 0x100 #define REPEAT_NUM 0x2000 static int busy_loop_test(void *data) { int i, n = (int)data, j; struct timeval tv0, tv1; long us; unsigned long lpj; j = 0; do_gettimeofday(&tv0); repeat: for (i = 0; i < LOOP_NUM; i ++) cpu_relax(); schedule(); if (j ++ < REPEAT_NUM) goto repeat; do_gettimeofday(&tv1); us = tv1.tv_usec - tv0.tv_usec; us += (tv1.tv_sec - tv0.tv_sec) * 100; printk("thread%d(%d) finish with time %d us (%d:%d)\n", n, smp_processor_id(), us, tv1.tv_sec - tv0.tv_sec, tv1.tv_usec- tv0.tv_usec); return 0; } #define THREAD_NUM 5 static int __init sched_test_init(void) { struct task_struct *t; struct dentry *file; struct task_struct *p[THREAD_NUM]; int i; for (i = 0; i < THREAD_NUM; i ++) { p[i] = kthread_create_on_node(busy_loop_test, i, cpu_to_node(i), "busy_loop/%d", i); get_task_struct(p[i]); kthread_bind(p[i], i); } for (i = 0; i < THREAD_NUM; i ++) wake_up_process(p[i]); return 0; } static void __exit sched_test_exit(void) { } module_init(sched_test_init); module_exit(sched_test_exit); MODULE_LICENSE("GPL"); #include #include #include #include #include #include #include #include #include #define LOOP_NUM 0x100 #define REPEAT_NUM 0x2000 static int busy_loop_test(void *data) { int i, n = (int)data, j; struct timeval tv0, tv1; long us; unsigned long lpj; j = 0; do_gettimeofday(&tv0); repeat: for (i = 0; i < LOOP_NUM; i ++) cpu_relax(); schedule(); if (j ++ < REPEAT_NUM) goto repeat; do_gettimeofday(&tv1); us = tv1.tv_usec - tv0.tv_usec; us += (tv1.tv_sec - tv0.tv_sec) * 100; printk("thread%d(%d) finish with time %d us (%d:%d)\n", n, smp_processor_id(), us, tv1.tv_sec - tv0.tv_sec, tv1.tv_usec- tv0.tv_usec); return 0; } #define THREAD_NUM 5 static int __init sched_test_init(void) { struct task_struct *t; struct dentry *file; struct task_struct *p[THREAD_NUM]; int i; for (i = 0; i < THREAD_NUM; i ++) { p[i] = kthread_create_on_node(busy_loop_test, i, -1, "busy_loop/%d", i); get_task_struct(p[i]); } for (i = 0; i < THREAD_NUM; i ++) wake_up_process(p[i]); return 0; } static void __exit sched_test_exit(void) { } module_init(sched_test_init); module_exit(sched_test_exit); MODULE_LICENSE("GPL"); ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
Re: [GIT PULL]; big LITTLE MP master v12
Hi Viresh, I test your updated branch, and find there is some errors: # ARCH=arm scripts/kconfig/merge_config.sh arch/arm/configs/vexpress_defconfig linaro/configs/big-LITTLE-MP.conf Using arch/arm/configs/vexpress_defconfig as base Merging linaro/configs/big-LITTLE-MP.conf HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf scripts/kconfig/conf --alldefconfig Kconfig # # configuration written to .config # Value requested for CONFIG_RCU_CPU_STALL_DETECTOR not in final .config Requested value: # CONFIG_RCU_CPU_STALL_DETECTOR is not set Actual value: Value requested for CONFIG_DEBUG_ERRORS not in final .config Requested value: CONFIG_DEBUG_ERRORS=y Actual value: Value requested for CONFIG_HMP_FREQUENCY_INVARIANT_SCALE not in final .config Requested value: CONFIG_HMP_FREQUENCY_INVARIANT_SCALE=y Actual value: Any suggestion for this? Also when launch the MP system, how could I know there already two cluster are running? For I only see one cpu by checking cpuinfo. The system I am running actually is A15x1-A7x1 over fastmodel... -- / # cat /proc/cpuinfo Processor : ARMv7 Processor rev 0 (v7l) processor : 0 BogoMIPS: 99.73 Features: swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x2 CPU part: 0xc0f CPU revision: 0 Hardware: ARM-Versatile Express Revision: Serial : Thanks, Lei On Sun, Nov 18, 2012 at 1:10 PM, Viresh Kumar wrote: > Hi Andrey, > > Please pull big-LITTLE-MP-master-v12 with following updates: > > - Based on v3.7-rc5 > - Stats: > - Total Patches: 62 > - New Patches: 1 >- genirq: Add default affinity mask command line option in > misc-patches branch >- top 3 patches in: sched-pack-small-tasks-v1 >- top 2 patches in: task-placement-v2 >- additional patch in: config-fragments > - Dropped patches/branches (as they are managed in experimental > merge branch): 20 >- patches in per-entity-load-tracking-with-core-sched-v1: 15 > - Updated Patches: 0 > > > -x--x--- > > The following changes since commit > 77b67063bb6bce6d475e910d3b886a606d0d91f7: > > Linux 3.7-rc5 (2012-11-11 13:44:33 +0100) > > are available in the git repository at: > > git://git.linaro.org/arm/big.LITTLE/mp.git big-LITTLE-MP-master-v12 > > for you to fetch changes up to f942092bd1008de7379b4a52d38dc03de5949fc8: > > Merge branches 'arm-multi_pmu_v2', 'hw-bkp-v7.1-debug-v1', > 'task-placement-v2', 'misc-patches', 'config-fragments' and > 'sched-pack-small-tasks-v1' into big-LITTLE-MP-master-v12-v2 > (2012-11-17 09:29:41 +0530) > > > > Ben Segall (1): > sched: Maintain per-rq runnable averages > > Chris Redpath (1): > ARM: Experimental Frequency-Invariant Load Scaling Patch > > Dietmar Eggemann (1): > ARM: hw_breakpoint: v7.1 self-hosted debug powerdown support > > Jon Medhurst (1): > ARM: sched: Avoid empty 'slow' HMP domain > > Liviu Dudau (2): > Revert "sched: secure access to other CPU statistics" > linaro/configs: big-LITTLE-MP: Enable the new tunable sysfs > interface by default. > > Lorenzo Pieralisi (1): > ARM: kernel: provide cluster to logical cpu mask mapping API > > Marc Zyngier (1): > ARM: perf: add guest vs host discrimination > > Mark Rutland (1): > ARM: perf: register cpu_notifier at driver init > > Morten Rasmussen (15): > sched: entity load-tracking load_avg_ratio > sched: Task placement for heterogeneous systems based on task > load-tracking > sched: Forced task migration on heterogeneous systems > sched: Introduce priority-based task migration filter > ARM: Add HMP scheduling support for ARM architecture > ARM: sched: Use device-tree to provide fast/slow CPU list for HMP > ARM: sched: Setup SCHED_HMP domains > sched: Add ftrace events for entity load-tracking > sched: Add HMP task migration ftrace event > sched: SCHED_HMP multi-domain task migration control > sched: Enable HMP priority filter by default > sched: Only down migrate low priority tasks if allowed by affinity > mask > linaro/configs: Enable HMP priority filter by default > sched: SD_SHARE_POWERLINE buddy selection fix > ARM: TC2: Re-enable SD_SHARE_POWERLINE > > Olivier Cozette (1): > ARM: Cha
Re: fastmodel run over ubuntu 64bit machine
On Thu, Sep 20, 2012 at 11:07 AM, Lei Wen wrote: > Dave, > > > On Thu, Sep 20, 2012 at 10:10 AM, Lei Wen wrote: > >> Hi Dave, >> >> On Thu, Sep 20, 2012 at 12:38 AM, Dave Martin wrote: >> >>> On Tue, Sep 18, 2012 at 04:58:21PM -0500, Andy Doan wrote: >>> > On 09/17/2012 04:01 AM, Dave Pigott wrote: >>> > >Hi Lei, >>> > > >>> > >I'm copying Andy Doan directly on this, since he's had more experience >>> > >of getting FM working in LAVA and can probably point you in the right >>> > >direction. >>> > > >>> > >Thanks >>> > > >>> > >Dave >>> > > >>> > >On 14 Sep 2012, at 14:35, Lei Wen wrote: >>> > > >>> > >>Hi Dave, >>> > >> >>> > >>On Fri, Sep 14, 2012 at 3:58 PM, Dave Pigott >> > >><mailto:dave.pig...@linaro.org>> wrote: >>> > >> >>> > >>Hi Lei, >>> > >> >>> > >>We run Fast Models on 64 bit all the time. How are you creating >>> > >>the model, and how are you trying to launch it? >>> > >> >>> > >> >>> > >>I launch the fast model by below command: >>> > >>model_shell cadi_system_Linux64-Release-GCC-4.4.so >>> >>> Should you be running model_shell64 instead? >>> >> >> The model_shell64 also complain for the same error as >> "Not a CADI 2.0 model"... >> >> >>> > >><http://cadi_system_Linux64-Release-GCC-4.4.so/> >>> > >>boot-wrapper/linux-system-semi.axf -f params >>> > >>> > Looks like you do things different than we do. The way we launch >>> > things is with: >>> > >>> > >>> /opt/arm/RTSM_A15-A7x14_VE/Linux64_RTSM_VE_Cortex-A15x4-A7x4/RTSM_VE_Cortex-A15x4-A7x4 >>> > >>> > -a coretile.cluster0.*=img.axf >>> > -C motherboard.mmc.p_mmc_file=sd.img >>> > -C coretile.cluster0.cpu0.semihosting-enable=1 >>> > -C motherboard.hostbridge.userNetworking=1 >>> > -C coretile.cache_state_modelled=0 >>> > -C motherboard.smsc_91c111.enabled=1 >>> > >>> > I also follow pages like: >>> > >>> > https://wiki.linaro.org/Platform/Android/AndroidOnFastModels >>> >>> I believe that the pre-built RTSM binaries are integrated simulation >>> builds (i.e., like isim_system). So the required command-line for >>> the isim_system binary built by the fast models package should be >>> similar to the examples we document for launching the RTSM binaries. >>> >> >> Yes, it is similar. Thanks for the hint. >> > > > Here is another issue, although the simulation is ok for running A15x1, > but when I am trying to run the A15x4_A7x4, the simulation cannot be > launched up, > with the same configuration I could run at the 32bit machine. > > The screen snap shot could be found at: > > https://lh4.googleusercontent.com/-M8G9kBQztNI/UFqGMGqetNI/ACg/_1JGgppMhU4/s768/a15x4_a7x4.jpg > > And the launch command I am using: > ./isim_system -a coretile.cluster0.*=boot-wrapper/linux-system-semi.axf > -a coretile.cluster1.*=boot-wrapper/linux-system-semi.axf -f params > Where the params is a file, containing: > motherboard.smsc_91c111.enabled=1 > motherboard.hostbridge.userNetworking=1 > coretile.dualclustersystemconfigurationblock.CFG_ACTIVECLUSTER=0x3 > coretile.cluster0.cpu0.semihosting-cmd_line="--kernel uImage --fdt > rtsm_ve-v2p-ca15x4-ca7x4.dtb -- console=ttyAMA0 mem=2048M root=/dev/nfs > nfsroot=192.168.1.1:/srv/nfsroot/ rw ip=dhcp" > > Any idea? > > Please ignore this mail, seems this issue is caused by bootwrapper, after applying the patch of "bootwrapper: Get it working for big.LITTLE models", the model is working fine for A15x4_A7x4 over 64bit machine using isim_system method. However, the A15x4_A7x4 model is running quit slow for launching the kernel, about 1minute to showing the kernel booting screen. Whereas A15x1 model is launching quite fast, just in several seconds. Anyone has any idea to speed up the A15x4_A7x4 model launching time? Thanks, Lei ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
Re: fastmodel run over ubuntu 64bit machine
Dave, On Thu, Sep 20, 2012 at 10:10 AM, Lei Wen wrote: > Hi Dave, > > On Thu, Sep 20, 2012 at 12:38 AM, Dave Martin wrote: > >> On Tue, Sep 18, 2012 at 04:58:21PM -0500, Andy Doan wrote: >> > On 09/17/2012 04:01 AM, Dave Pigott wrote: >> > >Hi Lei, >> > > >> > >I'm copying Andy Doan directly on this, since he's had more experience >> > >of getting FM working in LAVA and can probably point you in the right >> > >direction. >> > > >> > >Thanks >> > > >> > >Dave >> > > >> > >On 14 Sep 2012, at 14:35, Lei Wen wrote: >> > > >> > >>Hi Dave, >> > >> >> > >>On Fri, Sep 14, 2012 at 3:58 PM, Dave Pigott > > >><mailto:dave.pig...@linaro.org>> wrote: >> > >> >> > >>Hi Lei, >> > >> >> > >>We run Fast Models on 64 bit all the time. How are you creating >> > >>the model, and how are you trying to launch it? >> > >> >> > >> >> > >>I launch the fast model by below command: >> > >>model_shell cadi_system_Linux64-Release-GCC-4.4.so >> >> Should you be running model_shell64 instead? >> > > The model_shell64 also complain for the same error as > "Not a CADI 2.0 model"... > > >> > >><http://cadi_system_Linux64-Release-GCC-4.4.so/> >> > >>boot-wrapper/linux-system-semi.axf -f params >> > >> > Looks like you do things different than we do. The way we launch >> > things is with: >> > >> > >> /opt/arm/RTSM_A15-A7x14_VE/Linux64_RTSM_VE_Cortex-A15x4-A7x4/RTSM_VE_Cortex-A15x4-A7x4 >> > >> > -a coretile.cluster0.*=img.axf >> > -C motherboard.mmc.p_mmc_file=sd.img >> > -C coretile.cluster0.cpu0.semihosting-enable=1 >> > -C motherboard.hostbridge.userNetworking=1 >> > -C coretile.cache_state_modelled=0 >> > -C motherboard.smsc_91c111.enabled=1 >> > >> > I also follow pages like: >> > >> > https://wiki.linaro.org/Platform/Android/AndroidOnFastModels >> >> I believe that the pre-built RTSM binaries are integrated simulation >> builds (i.e., like isim_system). So the required command-line for >> the isim_system binary built by the fast models package should be >> similar to the examples we document for launching the RTSM binaries. >> > > Yes, it is similar. Thanks for the hint. > Here is another issue, although the simulation is ok for running A15x1, but when I am trying to run the A15x4_A7x4, the simulation cannot be launched up, with the same configuration I could run at the 32bit machine. The screen snap shot could be found at: https://lh4.googleusercontent.com/-M8G9kBQztNI/UFqGMGqetNI/ACg/_1JGgppMhU4/s768/a15x4_a7x4.jpg And the launch command I am using: ./isim_system -a coretile.cluster0.*=boot-wrapper/linux-system-semi.axf -a coretile.cluster1.*=boot-wrapper/linux-system-semi.axf -f params Where the params is a file, containing: motherboard.smsc_91c111.enabled=1 motherboard.hostbridge.userNetworking=1 coretile.dualclustersystemconfigurationblock.CFG_ACTIVECLUSTER=0x3 coretile.cluster0.cpu0.semihosting-cmd_line="--kernel uImage --fdt rtsm_ve-v2p-ca15x4-ca7x4.dtb -- console=ttyAMA0 mem=2048M root=/dev/nfs nfsroot=192.168.1.1:/srv/nfsroot/ rw ip=dhcp" Any idea? Thanks, Lei ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
Re: fastmodel run over ubuntu 64bit machine
Hi Dave, On Thu, Sep 20, 2012 at 12:38 AM, Dave Martin wrote: > On Tue, Sep 18, 2012 at 04:58:21PM -0500, Andy Doan wrote: > > On 09/17/2012 04:01 AM, Dave Pigott wrote: > > >Hi Lei, > > > > > >I'm copying Andy Doan directly on this, since he's had more experience > > >of getting FM working in LAVA and can probably point you in the right > > >direction. > > > > > >Thanks > > > > > >Dave > > > > > >On 14 Sep 2012, at 14:35, Lei Wen wrote: > > > > > >>Hi Dave, > > >> > > >>On Fri, Sep 14, 2012 at 3:58 PM, Dave Pigott > >><mailto:dave.pig...@linaro.org>> wrote: > > >> > > >>Hi Lei, > > >> > > >>We run Fast Models on 64 bit all the time. How are you creating > > >>the model, and how are you trying to launch it? > > >> > > >> > > >>I launch the fast model by below command: > > >>model_shell cadi_system_Linux64-Release-GCC-4.4.so > > Should you be running model_shell64 instead? > The model_shell64 also complain for the same error as "Not a CADI 2.0 model"... > > >><http://cadi_system_Linux64-Release-GCC-4.4.so/> > > >>boot-wrapper/linux-system-semi.axf -f params > > > > Looks like you do things different than we do. The way we launch > > things is with: > > > > > /opt/arm/RTSM_A15-A7x14_VE/Linux64_RTSM_VE_Cortex-A15x4-A7x4/RTSM_VE_Cortex-A15x4-A7x4 > > > > -a coretile.cluster0.*=img.axf > > -C motherboard.mmc.p_mmc_file=sd.img > > -C coretile.cluster0.cpu0.semihosting-enable=1 > > -C motherboard.hostbridge.userNetworking=1 > > -C coretile.cache_state_modelled=0 > > -C motherboard.smsc_91c111.enabled=1 > > > > I also follow pages like: > > > > https://wiki.linaro.org/Platform/Android/AndroidOnFastModels > > I believe that the pre-built RTSM binaries are integrated simulation > builds (i.e., like isim_system). So the required command-line for > the isim_system binary built by the fast models package should be > similar to the examples we document for launching the RTSM binaries. > Yes, it is similar. Thanks for the hint. > > Cheers > ---Dave > > Thanks, Lei ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
Re: fastmodel run over ubuntu 64bit machine
Hi Andy, On Wed, Sep 19, 2012 at 5:58 AM, Andy Doan wrote: > On 09/17/2012 04:01 AM, Dave Pigott wrote: > >> Hi Lei, >> >> I'm copying Andy Doan directly on this, since he's had more experience >> of getting FM working in LAVA and can probably point you in the right >> direction. >> >> Thanks >> >> Dave >> >> On 14 Sep 2012, at 14:35, Lei Wen wrote: >> >> Hi Dave, >>> >>> On Fri, Sep 14, 2012 at 3:58 PM, Dave Pigott >> <mailto:dave.pig...@linaro.org**>> wrote: >>> >>> Hi Lei, >>> >>> We run Fast Models on 64 bit all the time. How are you creating >>> the model, and how are you trying to launch it? >>> >>> >>> I launch the fast model by below command: >>> model_shell >>> cadi_system_Linux64-Release-**GCC-4.4.so<http://cadi_system_Linux64-Release-GCC-4.4.so> >>> <http://cadi_system_Linux64-**Release-GCC-4.4.so/<http://cadi_system_Linux64-Release-GCC-4.4.so/> >>> > >>> boot-wrapper/linux-system-**semi.axf -f params >>> >> > Looks like you do things different than we do. The way we launch things is > with: > > /opt/arm/RTSM_A15-A7x14_VE/**Linux64_RTSM_VE_Cortex-A15x4-**A7x4/RTSM_VE_Cortex-A15x4-A7x4 > > -a coretile.cluster0.*=img.axf > -C motherboard.mmc.p_mmc_file=sd.**img > -C coretile.cluster0.cpu0.**semihosting-enable=1 > -C motherboard.hostbridge.**userNetworking=1 > -C coretile.cache_state_modelled=**0 > -C motherboard.smsc_91c111.**enabled=1 > > There is no such prebuilt binary in my installation... However I find the isim_system is similar to the model_shell, with the same input I set to model_shell, it could launch the simulation finally. Still curious to know why model_shell don't work. Thanks, Lei ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
Re: fastmodel run over ubuntu 64bit machine
Hi Dave, On Fri, Sep 14, 2012 at 3:58 PM, Dave Pigott wrote: > Hi Lei, > > We run Fast Models on 64 bit all the time. How are you creating the model, > and how are you trying to launch it? > I launch the fast model by below command: model_shell cadi_system_Linux64-Release-GCC-4.4.soboot-wrapper/linux-system-semi.axf -f params And it is interested that while I just run the "./isim_system", there is no such error report out. But I don't know to use isim_system to launch this simulation... > > Dave > > On 14 Sep 2012, at 08:40, Lei Wen wrote: > > > Hi, > > > > Does anyone try to run the fastmodel over ubuntu 64bit machine? > > I try to run the simulation over Cortex-A15 model, but get below error > message when start: > > "Fatal Error: No CreateCADIBroker entry point found. Not a CADI 2.0 > model ?" > > > > Anyone knows what this message means? Do I need any additional > configuration to bring up > > the fastmodel over 64bit ubuntu? > > > > Thanks, > > Lei > > ___ > > linaro-dev mailing list > > linaro-dev@lists.linaro.org > > http://lists.linaro.org/mailman/listinfo/linaro-dev > > Thanks, Lei ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
fastmodel run over ubuntu 64bit machine
Hi, Does anyone try to run the fastmodel over ubuntu 64bit machine? I try to run the simulation over Cortex-A15 model, but get below error message when start: "Fatal Error: No CreateCADIBroker entry point found. Not a CADI 2.0 model ?" Anyone knows what this message means? Do I need any additional configuration to bring up the fastmodel over 64bit ubuntu? Thanks, Lei ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
Re: Running big.LITTLE MP on fastmodels [was Re: [GIT PULL] bit-LITTLE-MP-v7 - IMPORTANT]
Hi Tixy, On Fri, Sep 7, 2012 at 5:42 PM, Jon Medhurst (Tixy) wrote: > On Thu, 2012-09-06 at 22:34 +0800, Lei Wen wrote: > > I have several questions related how to run the mp over fastmodel. > > For the kernel config file, I see there are many for VE: > > android_vexpress_defconfig > > ubuntu_vexpress_defconfig > > vexpress_defconfig > > vexpress_tc2_defconfig > > Which one is suitable for the kernel run over fastmodel? > > > > Also the dts and bootwrapper, should I use below link? > > git://linux-arm.org/arm-dts.git > > git://git.linaro.org/arm/models/boot-wrapper.git or git:// > > linux-arm.org/boot-wrapper.git > > > Linaro's standard vexpress kernel will work on Fast Models. > > The kernel source is in the linux-linaro branch of > git://git.linaro.org/kernel/linux-linaro-tracking.git > > The config used is generated by the command: > > ARCH=arm scripts/kconfig/merge_config.sh \ > linaro/configs/linaro-base.conf \ > linaro/configs/ubuntu-minimal.conf \ > linaro/configs/vexpress.conf > > If you want to run a full Ubuntu desktop system its probably best to > replace 'ubuntu-minimal.conf' with 'ubuntu.conf'. And for Android > kernels use 'android.conf' instead. > > This kernel tree also contains device-trees for the Fast Models as > arch/arm/boot/dts/rtsm_ve* > > The boot-wrapper we are trying to standardise on is at > git://git.linaro.org/arm/models/boot-wrapper.git > > Currently this requires a patch (attached) to work on big.LITTLE models. > Note, this patch will break non bit.LITTLE models but people are working > on a way of a single boot-wrapper to work on all models. > > This boot-wrapper supports semi-hosting so it can be used as a > stand-alone bootloader and does not need to be merged with the kernel > binary. To build it: > > make CROSS_COMPILE=arm-linux-gnueabi- linux-system-semi.axf > > To run the big.LITTLE models you can then use a command like: > > RTSM_VE_Cortex-A15x4-A7x4 \ > -a coretile.cluster0.*=/path/linux-system-semi.axf \ > -a coretile.cluster1.*=/path/linux-system-semi.axf \ > -C > coretile.dualclustersystemconfigurationblock.CFG_ACTIVECLUSTER=0x3 \ > -C motherboard.mmc.p_mmc_file=/path/mmc.bin \ > -C coretile.cluster0.cpu0.semihosting-cmd_line="--kernel > /path/uImage --initrd /path/uInitrd --dtb /path/rtsm_ve-v2p-ca15x4-ca7x4 -- > console=ttyAMA0,115200n8 root=/dev/mmcblk0p2 rootwait ro debug" > > replacing names and paths as appropriate; and making sure the dtb file > you use matches the model you are running. I.e. it has the same type and > number of CPUS. > > For running non bit.LITTLE models use something like: > > RTSM_VE_Cortex-A15x4 \ > /path/linux-system-semi.axf \ > -C motherboard.mmc.p_mmc_file=/path/mmc.bin \ > -C cluster.cpu0.semihosting-cmd_line="--kernel /path/uImage > --initrd /path/uInitrd --dtb /path/rtsm_ve-cortex_a15x4 -- > console=ttyAMA0,115200n8 root=/dev/mmcblk0p2 rootwait ro debug" > > The MMC image to use for the root filesystem can be any Linaro vexpress > image created by linaro-media-create, or linaro-android-media-create, > but it needs to be limited to <2GB, e.g. for Android > > linaro-android-media-create \ > --image-file mmc.bin --image-size 2000M --dev vexpress \ > --boot boot.tar.bz2 --system system.tar.bz2 --userdata > userdata.tar.bz2 > > or an Ubuntu image > > linaro-media-create \ > --image-file mmc.bin --image-size 2000M --dev vexpress \ > --binary linaro-precise-.tar.gz \ > --hwpack hwpack_linaro-vexpress_.tar.gz > > To get a uInitrd to pass to the models then you can find this in > Android's boot.tar.bz2. However, for Ubuntu images I'm not sure of a > good way, only to create a second image on an SD card and then get a > uInitrd from the boot partition of that. > > Thanks a lot for the detailed setup doc. Thanks, Lei ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
Re: [GIT PULL] bit-LITTLE-MP-v7 - IMPORTANT
Hi Viresh, On Thu, Sep 6, 2012 at 12:29 AM, Viresh Kumar wrote: > On 5 September 2012 19:16, Morten Rasmussen > wrote: > > The patch is already in the original patch set, so I'm not sure why it > > is missing. > > > > > http://linux-arm.org/git?p=arm-bls.git;a=commit;h=1416200dd62551aa9ac4aa207b0c66651ccbff2c > > > > It needs to be there for the HMP scheduling to work. > > Surprisingly, it wasn't there in my tree since beginning... I have > included it now. :) > > I have several questions related how to run the mp over fastmodel. For the kernel config file, I see there are many for VE: android_vexpress_defconfig ubuntu_vexpress_defconfig vexpress_defconfig vexpress_tc2_defconfig Which one is suitable for the kernel run over fastmodel? Also the dts and bootwrapper, should I use below link? git://linux-arm.org/arm-dts.git git://git.linaro.org/arm/models/boot-wrapper.git or git:// linux-arm.org/boot-wrapper.git Thanks, Lei ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
Re: [U-Boot] [PATCH v4 2/2] ORIGEN: Add MMC SPL support
Hi Chander, On Fri, Jul 29, 2011 at 12:41 PM, Chander Kashyap wrote: > Adds mmc boot support. > > Signed-off-by: Chander Kashyap > --- > mmc_spl/board/samsung/origen/Makefile | 106 > mmc_spl/board/samsung/origen/mmc_boot.c | 57 + > mmc_spl/board/samsung/origen/tools/mkv310_image.c | 140 > + > mmc_spl/board/samsung/origen/u-boot.lds | 88 + > 4 files changed, 391 insertions(+), 0 deletions(-) > create mode 100644 mmc_spl/board/samsung/origen/Makefile > create mode 100644 mmc_spl/board/samsung/origen/mmc_boot.c > create mode 100644 mmc_spl/board/samsung/origen/tools/mkv310_image.c > create mode 100644 mmc_spl/board/samsung/origen/u-boot.lds > > diff --git a/mmc_spl/board/samsung/origen/Makefile > b/mmc_spl/board/samsung/origen/Makefile > new file mode 100644 > index 000..1d61cc0 > --- /dev/null > +++ b/mmc_spl/board/samsung/origen/Makefile > @@ -0,0 +1,106 @@ > +# > +# (C) Copyright 2006-2007 > +# Stefan Roese, DENX Software Engineering, s...@denx.de. > +# > +# (C) Copyright 2008 > +# Guennadi Liakhovetki, DENX Software Engineering, > +# > +# (C) Copyright 2011 > +# Chander Kashyap, Samsung Electronics, > +# > +# See file CREDITS for list of people who contributed to this > +# project. > +# > +# This program is free software; you can redistribute it and/or > +# modify it under the terms of the GNU General Public License as > +# published by the Free Software Foundation; either version 2 of > +# the License, or (at your option) any later version. > +# > +# This program is distributed in the hope that it will be useful, > +# but WITHOUT ANY WARRANTY; without even the implied warranty of > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +# GNU General Public License for more details. > +# > +# You should have received a copy of the GNU General Public License > +# along with this program; if not, write to the Free Software > +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, > +# MA 02111-1307 USA > +# > + > +CONFIG_MMC_SPL = y > + > +include $(TOPDIR)/config.mk > + > +LDSCRIPT= $(TOPDIR)/mmc_spl/board/$(BOARDDIR)/u-boot.lds > +LDFLAGS = -Bstatic -T $(mmcobj)u-boot.lds -Ttext > $(CONFIG_SYS_TEXT_BASE) $(PLATFORM_LDFLAGS) > +AFLAGS += -DCONFIG_MMC_SPL > +AFLAGS += -DCONFIG_SPL_BUILD > +CFLAGS += -DCONFIG_MMC_SPL > +CFLAGS += -DCONFIG_SPL_BUILD > + > +SOBJS = start.o mem_setup.o lowlevel_init.o > +COBJS = mmc_boot.o > + > +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) > +OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) > +__OBJS := $(SOBJS) $(COBJS) > +LNDIR := $(OBJTREE)/mmc_spl/board/$(BOARDDIR) > + > +mmcobj := $(OBJTREE)/mmc_spl/ > + > + > +MKV310_MMC_SPL_EXEC = mkv310_mmc_spl_exec > +MMC_SPL_BIN = u-boot-mmc-spl.bin > + > +ALL = $(mmcobj)u-boot-spl $(mmcobj)u-boot-spl.bin $(mmcobj)$(MMC_SPL_BIN) > + > +all: $(obj).depend $(ALL) > + > +$(mmcobj)$(MMC_SPL_BIN): $(mmcobj)u-boot-spl.bin > tools/$(MKV310_MMC_SPL_EXEC) > + ./tools/$(MKV310_MMC_SPL_EXEC) $(mmcobj)u-boot-spl.bin > $(mmcobj)$(MMC_SPL_BIN) > + rm -f tools/$(MKV310_MMC_SPL_EXEC) > + > +tools/$(MKV310_MMC_SPL_EXEC): tools/mkv310_image.c > + $(HOSTCC) tools/mkv310_image.c -o tools/$(MKV310_MMC_SPL_EXEC) > + > +$(mmcobj)u-boot-spl.bin: $(mmcobj)u-boot-spl > + $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ > + > +$(mmcobj)u-boot-spl: $(OBJS) $(mmcobj)u-boot.lds > + cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) \ > + -Map $(mmcobj)u-boot-spl.map \ > + -o $(mmcobj)u-boot-spl > + > +$(mmcobj)u-boot.lds: $(LDSCRIPT) > + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ > + > +# create symbolic links for common files > + > +# from cpu directory > +start.S: > + @rm -f $@ > + @ln -s $(TOPDIR)/arch/arm/cpu/armv7/start.S $@ > + > +# from board directory > +mem_setup.S: > + @rm -f $@ > + @ln -s $(TOPDIR)/board/samsung/origen/mem_setup.S $@ > + > +lowlevel_init.S: > + @rm -f $@ > + @ln -s $(TOPDIR)/board/samsung/origen/lowlevel_init.S $@ > + > +# > + > +$(obj)%.o: %.S > + $(CC) $(AFLAGS) -c -o $@ $< > + > +$(obj)%.o: %.c > + $(CC) $(CFLAGS) -c -o $@ $< > + > +# defines $(obj).depend target > +include $(SRCTREE)/rules.mk > + > +sinclude $(obj).depend > + > +# > diff --git a/mmc_spl/board/samsung/origen/mmc_boot.c > b/mmc_spl/board/samsung/origen/mmc_boot.c > new file mode 100644 > index 000..d9b44d8 > --- /dev/null > +++ b/mmc_spl/board/samsung/origen/mmc_boot.c > @@ -0,0 +1,57 @@ > +/* > + * Copyright (C) 2011 Samsung Electronics > + * > + * See file CREDITS for list of people who contributed to this > + * project. > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public