Hi All,
Due to a glitch with UEFI and the latest kernels, we are forced to leave the TC2s offline until the issue is resolved. Ryan Harkin and I have been working to try and resolve this, but the best we could do is to get them to pass their health check (using sticking plaster, string and a large hammer) but they would then fail every test that was submitted to them, which would be kind of pointless. We're working actively to fix this problem, and I'll let you know when we're back up and running.
Thanks, and apologies once again,
Dave
Hi Fengguang,
Thanks for your mail. Few things i learnt from it:
- Rafael has already applied my patches :)
- I haven't used sparse in my life till this point. Now i know how to use it.
On 23 October 2012 10:21, Fengguang Wu <fengguang.wu(a)intel.com> wrote:
> Hi viresh,
>
> FYI, there are new sparse warnings show up in
Actually these aren't new warnings, but old. Because some part is moved from
one file to another, that's why your script shows them as new warnings.
Anyway, i don't hesitate in fixing them.
@Rafael: Most of these are due to mixed use of u64 and cputime64_t. Both of
which are u64 if i am not wrong. Any specific reason that we used cputime64_t
instead of u64? Or can i make everything u64 instead in governors?
--
viresh
> tree: git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
> head: 13f5e2d9a915373dd1573d8fe0214738bc69004f
> commit: 83a73f712f2275033b2dc7f5c664988a1823ebc7 cpufreq: Move common part from governors to separate file, v2
> date: 5 hours ago
>
> + drivers/cpufreq/cpufreq_governor.c:46:53: sparse: incorrect type in argument 2 (different modifiers)
> drivers/cpufreq/cpufreq_governor.c:46:53: expected unsigned long long [usertype] *wall
> drivers/cpufreq/cpufreq_governor.c:46:53: got unsigned long long [nocast] [usertype] *wall
> + drivers/cpufreq/cpufreq_governor.c:46:53: sparse: implicit cast from nocast type
> drivers/cpufreq/cpufreq_governor.c:48:58: sparse: incorrect type in argument 2 (different modifiers)
> drivers/cpufreq/cpufreq_governor.c:48:58: expected unsigned long long [usertype] *last_update_time
> drivers/cpufreq/cpufreq_governor.c:48:58: got unsigned long long [nocast] [usertype] *wall
> drivers/cpufreq/cpufreq_governor.c:48:58: sparse: implicit cast from nocast type
>
> vim +46 drivers/cpufreq/cpufreq_governor.c
>
> 83a73f71 viresh kumar 2012-10-23 30 busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_SOFTIRQ];
> 83a73f71 viresh kumar 2012-10-23 31 busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_STEAL];
> 83a73f71 viresh kumar 2012-10-23 32 busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_NICE];
> 83a73f71 viresh kumar 2012-10-23 33
> 83a73f71 viresh kumar 2012-10-23 34 idle_time = cur_wall_time - busy_time;
> 83a73f71 viresh kumar 2012-10-23 35 if (wall)
> 83a73f71 viresh kumar 2012-10-23 36 *wall = jiffies_to_usecs(cur_wall_time);
> 83a73f71 viresh kumar 2012-10-23 37
> 83a73f71 viresh kumar 2012-10-23 38 return jiffies_to_usecs(idle_time);
> 83a73f71 viresh kumar 2012-10-23 39 }
> 83a73f71 viresh kumar 2012-10-23 40
> 83a73f71 viresh kumar 2012-10-23 41 cputime64_t get_cpu_idle_time(unsigned int cpu, cputime64_t *wall)
> 83a73f71 viresh kumar 2012-10-23 42 {
> 83a73f71 viresh kumar 2012-10-23 43 u64 idle_time = get_cpu_idle_time_us(cpu, NULL);
> 83a73f71 viresh kumar 2012-10-23 44
> 83a73f71 viresh kumar 2012-10-23 45 if (idle_time == -1ULL)
> 83a73f71 viresh kumar 2012-10-23 @46 return get_cpu_idle_time_jiffy(cpu, wall);
> 83a73f71 viresh kumar 2012-10-23 47 else
> 83a73f71 viresh kumar 2012-10-23 48 idle_time += get_cpu_iowait_time_us(cpu, wall);
> 83a73f71 viresh kumar 2012-10-23 49
> 83a73f71 viresh kumar 2012-10-23 50 return idle_time;
> 83a73f71 viresh kumar 2012-10-23 51 }
> 83a73f71 viresh kumar 2012-10-23 52 EXPORT_SYMBOL_GPL(get_cpu_idle_time);
>
> ---
> 0-DAY kernel build testing backend Open Source Technology Center
> Fengguang Wu, Yuanhan Liu Intel Corporation
From: Morten Rasmussen <morten.rasmussen(a)arm.com>
Hi Paul, Paul, Peter, Suresh, linaro-sched-sig, and LKML,
As a follow-up on my Linux Plumbers Conference talk about my experiments with
scheduling on heterogeneous systems I'm posting a proof-of-concept patch set
with my modifications. The intention behind the modifications is to tweak
scheduling behaviour to only use fast (and power hungry) cores when it is
necessary and also improve performance consistency. Without the modifications
it is more or less random where tasks are scheduled and so is the execution
time.
I'm seeing good improvements on performance consistency for web browsing on
Android using Bbench <http://www.gem5.org/Bbench> on the ARM big.LITTLE TC2
chip, which has two fast cores (Cortex-A15) and three power-efficient cores
(Cortex-A7). The total execution time numbers below are for Androids
SurfaceFlinger process is key for page rendering performance. The average
execution time is lower with the patches enabled and the standard deviation is
much smaller. Similar improvements can be seen for the Android.Browser and
WebViewCoreThread processes.
Total execution time statistics based on 50 runs.
SurfaceFlinger SMP kernel [s] HMP modifications [s]
------------------------------------------------------
Average 14.617 11.012
St. Dev. 4.577 0.902
10% Pctl. 9.343 10.783
90% Pctl. 18.743 11.695
Unfortunately, I cannot share power-efficiency numbers at this stage.
This patch set introduces proof-of-concept scheduler modifications which
attempt to improve scheduling decisions on heterogeneous multi-processor
systems (HMP) such as ARM big.LITTLE systems. The patch set relies on the
entity load-tracking re-work patch set by Paul Turner:
<https://lkml.org/lkml/2012/8/23/267>
The modifications attempt to migrate tasks between cores with different
compute capacity depending on the tracked load and priority. The aim is
to only use fast cores for tasks which really need the extra performance
and thereby improve power consumption by running everything else on the
slow cores.
The patch introduces hmp_domains to represent the different types of cores
that are available on the given platform. Multiple (>2) hmp_domains is
supported but not tested. hmp_domains must be set up by platform code and
the patch set includes patches for ARM platforms using device-tree.
The patches intentionally try to avoid modifying the existing code paths
as much as possible. The aim is to experiment with HMP scheduling and get
the overall policy right before integrating it properly with the existing
load-balancer.
Morten
Morten Rasmussen (10):
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
arch/arm/Kconfig | 46 +++++
arch/arm/include/asm/topology.h | 32 +++
arch/arm/kernel/topology.c | 91 ++++++++
include/linux/sched.h | 11 +
include/trace/events/sched.h | 153 ++++++++++++++
kernel/sched/core.c | 4 +
kernel/sched/fair.c | 434 ++++++++++++++++++++++++++++++++++++++-
kernel/sched/sched.h | 9 +
8 files changed, 779 insertions(+), 1 deletion(-)
--
1.7.9.5
>> diff --git a/drivers/power/ab8500_fg.c b/drivers/power/ab8500_fg.c
>> index bf02225..ff64dd4 100644
>> --- a/drivers/power/ab8500_fg.c
>> +++ b/drivers/power/ab8500_fg.c
>> @@ -22,15 +22,16 @@
[...]
>>
>> #define MILLI_TO_MICRO 1000
>> #define FG_LSB_IN_MA 1627
>> @@ -212,7 +213,6 @@ struct ab8500_fg {
>> struct ab8500_fg_avg_cap avg_cap;
>> struct ab8500 *parent;
>> struct ab8500_gpadc *gpadc;
>> - struct abx500_fg_platform_data *pdata;
>> struct abx500_bm_data *bat;
>> struct power_supply fg_psy;
>> struct workqueue_struct *fg_wq;
>> @@ -2416,6 +2416,8 @@ static int __devexit ab8500_fg_remove(struct platform_device *pdev)
>> int ret = 0;
>> struct ab8500_fg *di = platform_get_drvdata(pdev);
>>
>> + of_node_put(pdev->dev.of_node);
>
> This is wrong, the probe function doesn't increment the refcount of this
> node, so you don't have to decrement it here.
you hinted in one of your earlier comments as:
"
Also, if I'm not mistaken we have a leak here, because the refcount of
these nodes is never decremented, not even in the driver remove routine.
" while referring bmdevs_of_probe(..), nodes being referred,
np and np_bat_supply
Note:
I found 'refcount of kref' being 1 in case of node obtained from
probe() also through of_parse_phandle(...).
ref: struct device_node { kref kref }
Lee, any comments?
Hi all,
Due to Amazon EC2/EBS issues last night, ci.linaro.org and
android-build.linaro.org have been partially unresponsive.
While everything is supposed to be back already, we are hitting problems
with Amazon EC2 capacity, which jenkins doesn't handle in the most
graceful way.
We apologize for the inconvenience this might be causing, but we'll do
everything we can to monitor and bring the service up to full capacity
as soon as possible.
Cheers,
Danilo
Hello,
I am trying to emulate beagleboard in qemu. I am using linaro 11.08
releases of nano rootfs and hwpack (this release is dated as on 2011/08/23)
and the version of linaro-media-create I am using is 2012.06. After I run
the following command, I do get a image generated but with the following
error. Due to this error after I run the image, I cannot mount the image. I
have pasted everything from the terminal till the end after I get the
error.
*$ sudo linaro-media-create --image_file beagle_sd.img --dev beagle
--binary nano-n-tar-20110823-1.tar.gz --hwpack
hwpack_linaro-omap3_20110823-0_armel_supported.tar.gz*
*proc has been unmounted
Sleeping for 1 second(s) to wait for the partition to settle
Disk beagle_sd.img: cannot get geometry
sfdisk: ERROR: sector 0 does not have an msdos signature
beagle_sd.img: unrecognized partition table type
No partitions found
Warning: beagle_sd.img is not a block device
Disk beagle_sd.img: cannot get geometry
sfdisk: ERROR: sector 0 does not have an msdos signature
beagle_sd.img: unrecognized partition table type
No partitions found
Warning: partition 1 does not end at a cylinder boundary
BLKRRPART: Inappropriate ioctl for device
If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
Sleeping for 1 second(s) to wait for the partition to settle
Disk beagle_sd.img: cannot get geometry
start: (c,h,s) expected (0,1,1) found (0,1,32)
end: (c,h,s) expected (6,160,25) found (25,127,31)
start: (c,h,s) expected (6,160,27) found (26,0,1)
end: (c,h,s) expected (391,159,24) found (1023,127,32)
partition ends on cylinder 1023, beyond the end of the disk
Formating boot partition
mkfs.vfat 3.0.12 (29 Oct 2011)
Loop device does not match a floppy size, using default hd params
Formating root partition
mke2fs 1.42 (29-Nov-2011)
Filesystem label=rootfs
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
193536 inodes, 773120 blocks
38656 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=792723456
24 block groups
32768 blocks per group, 32768 fragments per group
8064 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
`/tmp/tmpKKLnZe/binary/usr/lib/u-boot/omap3_beagle/u-boot.bin' ->
`/tmp/tmpKKLnZe/boot-disc/u-boot.bin'
`/tmp/tmpKKLnZe/binary/usr/lib/x-loader/omap3530beagle/MLO' ->
`/tmp/tmpKKLnZe/boot-disc/MLO'
Image Name: Linux
Created: Fri Oct 19 17:03:27 2012
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3836224 Bytes = 3746.31 kB = 3.66 MB
Load Address: 80008000
Entry Point: 80008000
Image Name: initramfs
Created: Fri Oct 19 17:03:27 2012
Image Type: ARM Linux RAMDisk Image (uncompressed)
Data Size: 1853452 Bytes = 1810.01 kB = 1.77 MB
Load Address: 00000000
Entry Point: 00000000
Image Name: boot script
Created: Fri Oct 19 17:03:27 2012
Image Type: ARM Linux Script (uncompressed)
Data Size: 444 Bytes = 0.43 kB = 0.00 MB
Load Address: 00000000
Entry Point: 00000000
Contents:
Image 0: 436 Bytes = 0.43 kB = 0.00 MB
`/tmp/tmpKKLnZe/boot-disc/boot.scr' -> `/tmp/tmpKKLnZe/boot-disc/boot.ini'
Populating rootfs partition
Be patient, this may take a few minutes
Creating /etc/flash-kernel.conf
Updating /etc/network/interfaces
Done creating Linaro image on beagle_sd.img
pshah9@ubuntu:~/Downloads/image$ *
I know this bug has been reported and the patch has been released by
Guilherme (bug # 701678 and here is the link to the patch file
https://launchpadlibrarian.net/62892999/udisks.diff ). The
linaro-image-tools version that the patch was released was for 0.4.2 but
this error still persist in 2012.06. And, I also tried if I can apply this
patch on my linaro-media-tool version, but I keep on getting error as the
source code has changed and so patch cant be applied.
And, there was another bug reported for linaro-image-tools that occurs with
the same command. This is not a error but it is warning about /bin/df (bug
# 651918):
*$ sudo linaro-media-create --image_file beagle_sd.img --dev beagle
--binary nano-n-tar-20110823-1.tar.gz --hwpack
hwpack_linaro-omap3_20110823-0_armel_supported.tar.gz
**/bin/df: Warning: cannot read table of mounted file systems: No such file
or directory*
*
*I get this warning little bit before the above error. I couldn't find any
solution for this problem as this bug remains unassigned on
launchpad.netwebsite.
So, can you please tell me how can I download the linaro-media-tool version
that was released after 0.4.2 and contains the above patch or if possible a
new patch for 2012.06? I am writing this email directly to this list as I
am using it for my thesis and wanted to get it solved as fast as possible.
Tejas
Hi All,
Greeting from QA Team.
INFO:
The QA Services team can offer test planning and sign-off services to
Working Groups for their major road-map items. We are planning to kick off
road-map piloting for Linaro Engineering efforts at Connect 2012. Card
http://cards.linaro.org/browse/CARD-140 briefs about QA's road-map sign
off piloting.
STATUS:
We have been providing QA services to projects like big.LITTLE System,
big.LITTLE MP and general Android and Ubuntu Daily, Weekly and Monthly
release testing. We have well defined test plans, test execution cycles and
test plan sign-off for above Projects.
ACTION:
We would like to have a pre-discussion about your (Working Group)
requirement and expectation from QA team regarding creating test suite,
planning, development, integration with Ubuntu, Android and LAVA. Please
also let us know the cards/projects which are in a need of QA services. we
are ready to help you.
MEET:
we would also like you to invite for QA meeting planned at LCE12 for
further discussion
http://summit.linaro.org/lce12/meeting/21226/roadmap-card-qa-and-sign-off/
Regards,
QA Services
Linaro Platform
http://wiki.linaro.org/Platform/QA