Hello,
Recently, Ubuntu revoked sun-java6-* packages following retirement of
its license:
https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-January/001…
It propagated to the repositories we use for android-build.linaro.org
slaves on this weekend. The end effect of this besides builds not being
able to proceed, is slave pile-up issue, as Jenkins, seeing an
initialization error for one slave, tries to start another, all going
in cycles. As it's pretty late in here, the action I'm taking is
disabling builds altogether, to proceed with resolving this first thing
in the morning (access to previous builds is still available).
Proposed actions are:
1. Install sun-java6-* from cached .deb's as risk-mitigating measure
while analyzing the issue.
2. Consider/test switching to OpenJDK, as recommended by
https://wiki.ubuntu.com/LucidLynx/ReleaseNotes/Java6Transition . Note
that sun-java6 have been, and still is, listed by Google as the Android
build prerequisite: http://source.android.com/source/initializing.html
However, there were success reports with OpenJDK from individual
developers previously.
--
Best Regards,
Paul
Linaro.org | Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linarohttp://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog
HI
I'm newbie for Linaro .
I understand that Linaro just provide the toolchains , u-boot, kernel
after view the guide quickly .
I want to know how about the basic function such as busybox etc .
I assume that buy a board such as Pandaboard ES that use Linaro to do
application develop as following action
Step 1 install toolchain from Linaro
Step 2 compile u-boot from Linaro
Step 3 compile linux kernel from Linaro
Step 4 I need compile such as busybox etc for root filesystem by myself .
Is this step correctly ?
Thanks a lot
Best Regards .
Peter Meng
mengsanshui(a)gmail.com
Generalize CONFIG_IRQ_TIME_ACCOUNTING between X86 and
ARM, move "noirqtime=" option to common debugging code.
For a bit of backward compatibility, X86-specific option
"tsc=noirqtime" is preserved, but issues a warning.
Suggested-by: Yong Zhang <yong.zhang0(a)gmail.com>
Suggested-by: Russell King <rmk+kernel(a)arm.linux.org.uk>
Acked-by: Venkatesh Pallipadi <venki(a)google.com>
Signed-off-by: Dmitry Antipov <dmitry.antipov(a)linaro.org>
---
Documentation/kernel-parameters.txt | 9 +++++----
arch/arm/kernel/sched_clock.c | 2 ++
arch/x86/Kconfig | 11 -----------
arch/x86/kernel/tsc.c | 12 ++++++------
include/linux/sched.h | 17 ++++++++++-------
kernel/sched/core.c | 20 +++++++++++---------
lib/Kconfig.debug | 12 ++++++++++++
7 files changed, 46 insertions(+), 37 deletions(-)
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 033d4e6..a5da255 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1790,6 +1790,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
noirqdebug [X86-32] Disables the code which attempts to detect and
disable unhandled interrupt sources.
+ noirqtime [X86,ARM] Run time disables IRQ_TIME_ACCOUNTING and
+ eliminates the timestamping on irq/softirq entry/exit.
+
no_timer_check [X86,APIC] Disables the code which tests for
broken timer IRQ sources.
@@ -2636,10 +2639,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
as the stability checks done at bootup. Used to enable
high-resolution timer mode on older hardware, and in
virtualized environment.
- [x86] noirqtime: Do not use TSC to do irq accounting.
- Used to run time disable IRQ_TIME_ACCOUNTING on any
- platforms where RDTSC is slow and this accounting
- can add overhead.
+ [x86] noirqtime: obsoleted by "noirqtime" generic option,
+ see it's documentation for details.
turbografx.map[2|3]= [HW,JOY]
TurboGraFX parallel port interface
diff --git a/arch/arm/kernel/sched_clock.c b/arch/arm/kernel/sched_clock.c
index 5416c7c..30b5f89 100644
--- a/arch/arm/kernel/sched_clock.c
+++ b/arch/arm/kernel/sched_clock.c
@@ -144,6 +144,8 @@ void __init setup_sched_clock(u32 (*read)(void), int bits, unsigned long rate)
*/
cd.epoch_ns = 0;
+ enable_sched_clock_irqtime();
+
pr_debug("Registered %pF as sched_clock source\n", read);
}
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 5bed94e..4759676 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -805,17 +805,6 @@ config SCHED_MC
making when dealing with multi-core CPU chips at a cost of slightly
increased overhead in some places. If unsure say N here.
-config IRQ_TIME_ACCOUNTING
- bool "Fine granularity task level IRQ time accounting"
- default n
- ---help---
- Select this option to enable fine granularity task irq time
- accounting. This is done by reading a timestamp on each
- transitions between softirq and hardirq state, so there can be a
- small performance impact.
-
- If in doubt, say N here.
-
source "kernel/Kconfig.preempt"
config X86_UP_APIC
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index a62c201..f1b2b63 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -103,14 +103,15 @@ int __init notsc_setup(char *str)
__setup("notsc", notsc_setup);
-static int no_sched_irq_time;
-
static int __init tsc_setup(char *str)
{
if (!strcmp(str, "reliable"))
tsc_clocksource_reliable = 1;
- if (!strncmp(str, "noirqtime", 9))
- no_sched_irq_time = 1;
+ if (!strncmp(str, "noirqtime", 9)) {
+ printk(KERN_WARNING "tsc: tsc=noirqtime is "
+ "obsolete, use noirqtime instead\n");
+ disable_sched_clock_irqtime();
+ }
return 1;
}
@@ -978,8 +979,7 @@ void __init tsc_init(void)
/* now allow native_sched_clock() to use rdtsc */
tsc_disabled = 0;
- if (!no_sched_irq_time)
- enable_sched_clock_irqtime();
+ enable_sched_clock_irqtime();
lpj = ((u64)tsc_khz * 1000);
do_div(lpj, HZ);
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 7d379a6..9b13f79 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1961,13 +1961,16 @@ extern void sched_clock_idle_wakeup_event(u64 delta_ns);
#endif
#ifdef CONFIG_IRQ_TIME_ACCOUNTING
-/*
- * An i/f to runtime opt-in for irq time accounting based off of sched_clock.
- * The reason for this explicit opt-in is not to have perf penalty with
- * slow sched_clocks.
- */
-extern void enable_sched_clock_irqtime(void);
-extern void disable_sched_clock_irqtime(void);
+extern int sched_clock_irqtime;
+static inline void enable_sched_clock_irqtime(void)
+{
+ if (sched_clock_irqtime == -1)
+ sched_clock_irqtime = 1;
+}
+static inline void disable_sched_clock_irqtime(void)
+{
+ sched_clock_irqtime = 0;
+}
#else
static inline void enable_sched_clock_irqtime(void) {}
static inline void disable_sched_clock_irqtime(void) {}
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 5255c9d..a7ec043 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -757,18 +757,20 @@ static DEFINE_PER_CPU(u64, cpu_hardirq_time);
static DEFINE_PER_CPU(u64, cpu_softirq_time);
static DEFINE_PER_CPU(u64, irq_start_time);
-static int sched_clock_irqtime;
-void enable_sched_clock_irqtime(void)
-{
- sched_clock_irqtime = 1;
-}
+/* -1 if not initialized, 0 if disabled with "noirqtime" kernel option
+ * or after unstable clock was detected, 1 if enabled and active.
+ */
+int sched_clock_irqtime = -1;
-void disable_sched_clock_irqtime(void)
+static int __init irqtime_setup(char *str)
{
sched_clock_irqtime = 0;
+ return 1;
}
+__setup("noirqtime", irqtime_setup);
+
#ifndef CONFIG_64BIT
static DEFINE_PER_CPU(seqcount_t, irq_time_seq);
@@ -822,7 +824,7 @@ void account_system_vtime(struct task_struct *curr)
s64 delta;
int cpu;
- if (!sched_clock_irqtime)
+ if (sched_clock_irqtime < 1)
return;
local_irq_save(flags);
@@ -2853,7 +2855,7 @@ void account_process_tick(struct task_struct *p, int user_tick)
cputime_t one_jiffy_scaled = cputime_to_scaled(cputime_one_jiffy);
struct rq *rq = this_rq();
- if (sched_clock_irqtime) {
+ if (sched_clock_irqtime > 0) {
irqtime_account_process_tick(p, user_tick, rq);
return;
}
@@ -2887,7 +2889,7 @@ void account_steal_ticks(unsigned long ticks)
void account_idle_ticks(unsigned long ticks)
{
- if (sched_clock_irqtime) {
+ if (sched_clock_irqtime > 0) {
irqtime_account_idle_ticks(ticks);
return;
}
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 8745ac7..236e814 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -299,6 +299,18 @@ config SCHEDSTATS
application, you can say N to avoid the very slight overhead
this adds.
+config IRQ_TIME_ACCOUNTING
+ bool "Fine granularity task level IRQ time accounting"
+ depends on X86 || ARM
+ default n
+ ---help---
+ Select this option to enable fine granularity task irq time
+ accounting. This is done by reading a timestamp on each
+ transitions between softirq and hardirq state, so there can be a
+ small performance impact.
+
+ If in doubt, say N here.
+
config TIMER_STATS
bool "Collect kernel timers statistics"
depends on DEBUG_KERNEL && PROC_FS
--
1.7.7.6
For those of you interested by the topic, my article was published
today. With a LWN subscription (or freely accessible in 2 weeks), it
can be viewed here:
http://lwn.net/Articles/481055/
The comments section is growing fast already!
Nicolas
Alexander had the very good idea to ask the Linux Foundation if they
would set up a hacking room. They set aside Salon 3 for today and
tomorrow. I've brought some (all) of the hardware down if people need
to run stuff or want to collaborate.
--
Zach Pfeffer
Android Platform Team Lead, Linaro Platform Teams
Linaro.org | Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linarohttp://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog
Hello,
We started migrating Android build artifacts as produced by
https://android-build.linaro.org/ to http:///snapshots.linaro.org
almost 2 months ago and now the migration can be pronounced complete.
From now on, http://snapshots.linaro.org/android/ is the master
download location for all Android builds, with all builds done in last 2
months available there, important historical builds (*1) migrated
there too, and archiving on android-build.linaro.org now turned off.
There are several benefits for hosting Android builds directly on
snapshots.linaro.org:
1. It is a central place for all Linaro downloads.
2. It allows to manage EULA protection in centralized manner.
3. It allows for consistent structuring and styling.
4. It allows for better space and retention policy management.
5. It alleviates Infrastructure team from maintaining Android
downloads on the Jenkins server, allowing us to concentrate on build
side of it.
Please note that this change is transparent to
https://android-build.linaro.org/ - artifacts can still be download
from its detailed pages, the links just point to
snapshots.linaro.org . All existing artifacts also stay available on
android-build.linaro.org, so any previously disseminated links remain
valid (*2).
*1 Only historical releases were migrated to snapshots.linaro.org,
historical daily and developers' built were not due to concerns with
current disk space availability on snapshots.linaro.org. But both daily
and developers' builds are subject to expiration (lifetime 3 months
max), and with 2 months of snapshots.linaro.org archiving, there's only
one month's worth of builds left on android-build.linaro.org, which
would expire shortly.
*2 Subject to expiration policy, per (*1)
--
Best Regards,
Paul
Linaro.org | Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linarohttp://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog
Hi Avik,
Your fix seems ok for ubuntu/debian, but this would not work in general
case. E.g. Fedora doesn't have /usr/bin/pager.
So this doesn't look like a generic solution that fits into linux-linaro
kernel.
Also for a patch I need a one-line title (subject), a short description
of the change, and the "Signed-off-by: Name <email>". I.e. all the stuff
a git commit header should have.
Thanks,
Andrey
On 02/14/2012 03:33 PM, Avik Sil wrote:
> Hi Andrey,
>
> Can you please consider adding the following patch that supposedly fixes
> bug 833101 (https://bugs.launchpad.net/bugs/833101)?
>
> Regards,
> Avik
>
> diff --git a/tools/perf/util/pager.c b/tools/perf/util/pager.c
> index 1915de2..13496dc 100644
> --- a/tools/perf/util/pager.c
> +++ b/tools/perf/util/pager.c
> @@ -58,7 +58,7 @@ void setup_pager(void)
> if (!pager)
> pager = getenv("PAGER");
> if (!pager)
> - pager = "less";
> + pager = "pager";
> else if (!*pager || !strcmp(pager, "cat"))
> return;
>
>
> On Tuesday 14 February 2012 01:52 AM, Andrey Konovalov wrote:
>> Greetings,
>>
>> If someone has something which is not in the mainline, was not in the
>> 12.01 kernel release, but worth including into the 12.02 kernel release,
>> please let me know by the end of Feb 14, PST (the git branch where I
>> could pull from). This release will be v3.3-rc3 based, so you patches
>> should be based on that (easiest for me), or on the tip of the linus
>> tree.
>>
>> My expectations are that the power management WG has some topics to add
>> to the 12.02.
>>
>> I am aware of git://git.secretlab.ca/git/linux-2.6.git, irqdomain/next
>>
>> The kernel working group has some blueprints for 12.02. Please let me
>> know, if there is something for me to do here.
>>
>> The following commits from linux-linaro-3.2 branch will be carried over
>> to 12.02:
>> commit 2eb6f8b98d8471c83be7e3ab53fe4386884c96a9
>> Author: Vincent Guittot <vincent.guittot(a)linaro.org>
>> Date: Fri Oct 21 09:02:47 2011 +0200
>> sched: Ensure cpu_power periodic update
>>
>> commit 2b21b980917662503a16e079b5d4a5a8a17886cd
>> Author: Arnd Bergmann <arnd(a)arndb.de>
>> Date: Sat Oct 8 17:07:50 2011 +0200
>> ARM: kprobes: work around build errors
>>
>> commit 61d24dd4d0528d369ea81f6e5d5e1db9c62ad46a
>> Author: Ming Lei <ming.lei(a)canonical.com>
>> Date: Wed Aug 31 00:03:13 2011 +0800
>> usb: ehci: make HC see up-to-date qh/qtd descriptor ASAP
>>
>> Amit (Amit Daniel Kachhap), please let me know if for 12.02 I should use
>> the commits below, or take an updated version from you:
>> ARM: exynos4: Add thermal sensor driver platform device support
>> thermal: exynos4: Register the tmu sensor with the thermal interface
>> layer
>> thermal: exynos: Add thermal interface support for linux thermal layer
>> thermal: Add generic cpu cooling implementation
>> thermal: Add a new trip type to use cooling device instance number
>> EXYNOS: Make EXYNOS common cpufreq driver
>> ARM: exynos: Enable l2 configuration through device tree
>> ARM: exynos: remove useless code to save/restore L2
>> ARM: exynos: save L2 settings during bootup
>> ARM: s5p: add L2 early resume code
>> ARM: exynos: Add support AFTR mode on EXYNOS4210
>>
>>
>> Thanks,
>> Andrey Konovalov
>>
>> _______________________________________________
>> linaro-dev mailing list
>> linaro-dev(a)lists.linaro.org
>> http://lists.linaro.org/mailman/listinfo/linaro-dev
>
Hi,
This issue is currently specific to the Ubuntu LEB for Origen and is
also being discussed under the LP bug #906762 [1]. Writing to a wider
audience to get views of others who might have come across similar
situation before.
Currently the LCD FB is registered as /dev/fb0 and the HDMI FB is
registered as /dev/fb1. While booting up, by default /dev/fb0 is used as
the primary display device and the output is routed accordingly. To use
the HDMI display, we need to update /etc/X11/xorg.conf (and this needs
to be updated every time we update the file-system.)
If we don't enable support for LCD FB, the display comes on HDMI during
boot-time, but again that is not desirable considering we want to use
both the LCD and HDMI with the same kernel binary.
Is there any way where we can force the default frame-buffer (whether to
choose /dev/fb0 or /dev/fb1) during boot-time, might be through some
kernel command-line options?
[1] https://bugs.launchpad.net/linaro-landing-team-samsung/+bug/906762
--
Tushar Behera