Re: One HMP issue over TC2

2013-06-27 Thread Lei Wen
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

2013-06-27 Thread Lei Wen
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

2013-06-27 Thread Lei Wen
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

2012-11-20 Thread Lei Wen
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

2012-09-20 Thread Lei Wen
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

2012-09-19 Thread Lei Wen
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

2012-09-19 Thread Lei Wen
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

2012-09-19 Thread Lei Wen
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

2012-09-14 Thread Lei Wen
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

2012-09-14 Thread Lei Wen
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]

2012-09-07 Thread Lei Wen
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

2012-09-06 Thread Lei Wen
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

2011-07-31 Thread Lei Wen
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