Hi All,
Please find enclosed link to minutes and actions for multimedia wg
meeting on 8st Feb 2011.
https://wiki.linaro.org/WorkingGroups/Middleware/Multimedia/Notes/2011-02-15
Summary
- buffer pool design doc from GStreamer lead architect reviewed
- bellagio patches send updstream
- libjpeg optimization: agreement found with Mans for job split
- instrumented player: good progress expect first release for the end of the
month
Thanks
Benjamin
_______________________________________________
linaro-dev mailing list
linaro-dev(a)lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev
On 28 January 2011 08:12, Paul Larson <paul.larson(a)linaro.org> wrote:
> Other questions...
>
>
> What does it do after running the test? How, and where does it leave the
> results? What get's added to the results (e.g. serial log) and how does
> that happen? What is the mechanism for then taking that bundle and pushing
> to the server? What happens if there were no results from the client, what
> do we capture in that case?
>
About the test result, I draft a test result bundle template, for a job test
result bundle, it is stored in a text file.
Dispatcher server part will get the return value of the test case and the
serial port log, then create test result together with some info from job
message, client dispatcher test logs.
I think server dispatcher can fetch the client test logs initiatively after
client dispatcher ends.
If there is no result from the client, after timeout,
1. server dispatcher send some "Ctrl+C" to client dispatcher to end it.
2. then restart the client dispatcher.
3. try to get the client dispatcher remained test logs.
4. mark the test case to TIMEOUT and create the test result.
PS. If step 1 can not end the client dispatcher, it may need a reboot for
server dispatcher have lost the control of serial line.
Test result bundle composed of every test case result, for each test case
result, it includes:
-
LOG
casename:Test case name
testsuite:Test suite name
testcmd:Test case Command
timeout:Timeout
retvalue:Return value
version:kernel version(by "cat /proc/version")
seriallog:
serial port log
ENDLOG
e.g.
-
LOG
casename:PERF001
testsuite:abrek
testcmd:x11perf
timeout:60000
retvalue:0
version:2.6.35-xxxx
seriallog:
xxx
xxx
xxx
ENDLOG
And a test result bundle:
LOG
casename:PERF001
testsuite:abrek
testcmd:x11perf
timeout:60000
retvalue:0
version:2.6.35-xxxx
seriallog:
xxx
xxx
xxx
ENDLOG
LOG
casename:USB002
testsuite:abrek
testcmd:usb_app
timeout:60000
retvalue:0
version:2.6.35-xxxx
seriallog:
yyy
yyy
yyy
ENDLOG
What do you think?
The flow to get test result:
1. Server dispatcher sends commands to client dispatcher via serial line to
invoke client dispatcher, capture all the serial log and wait for the client
dispatcher ends.
2. Client dispatcher executes the command, save logs to some place on the
board.
3. If client dispatcher ends normally(return to the "root@testimage:~$"
string), server dispatcher uses "echo $?" to get the return value. Or
terminate the client dispatcher after timeout.
4. Server dispatcher gets client dispatcher test logs.
5. Server dispatcher uses the collected information to create test result.
--
Best wishes,
Spring Zhang
Hi Mirsad, I'm looking at the recent edits to
https://wiki.linaro.org/Platform/Validation/Specs/ValidationScheduler and
wanted to start a thread to discuss. Would love to hear thoughts from
others as well.
We could probably use some more in the way of implementation details, but
this is starting to take shape pretty well, good work. I have a few
comments below:
> Admin users can also cancel any scheduled jobs.
Job submitters should be allowed to cancel their own jobs too, right?
I think in general, the user stories need tweaking. Many of them center
around automatic scheduling of jobs based on some event (adding a machine,
adding a test, etc). Based on the updated design, this kind of logic would
be in the piece we were referring to as the driver. The scheduler shouldn't
be making those decisions on its own, but it should provide an interface for
both humans to schedule jobs (web, cli) as well as and api for machines
(driver) to do this.
> should we avoid scheduling image tests twice because a hwpack is coming in
after images or vv.
Is this a question? Again, I don't think that's the scheduler's call. The
scheduler isn't deciding what tests to run, and what to run them on. In
this case, assuming we have the resources to pull it off, running the new
image with the old, and the new hwpack would be good to do.
> Test job definition
Is this different from the job definition used by the dipatcher? Please
tell me if I'm missing something here, but I think to schedule something,
you only really need two blobs of information:
1a. specific host to run on
-OR-
1b. (any/every system matching given criteria)
This one is tricky, and though it sounds really useful, my personally
feeling is that it is of questionable value. In theory, it lets you make
more efficient use of your hardware when you have multiple identical
machines. In practice, what I've seen on similar systems is that humans
typically know exactly which machine they want to run something on. Where
it might really come in to play is later when we have a driver automatically
scheduling jobs for us.
2. job file - this is the piece that the job dispatcher consumes. It could
be handwritten, machine generated, or created based on a web form where the
user selects what they want.
> Test job status
One distinction I want to make here is job status vs. test result. A failed
test can certainly have a "complete" job status.
Incomplete, as a job status, just means that the dispatcher was unable to
finsish all the steps in the job. For instance, a better example would be
if we had a test that required an image to be deployed, booted, and a test
run on it. If we tried to deploy the image and hit a kernel panic on
reboot, that is an incomplete job because it never made it far enough to run
the specified test.
> Link to test results in launch-control
If we tie this closely enough with launch-control, it seems we could just
communicate the job id to the dispatcher so that it gets rolled up with the
bundle. That way the dashboard would have a backlink to the job, and could
create the link to the bundle once it is deserialized. Just a different
option if it's easier. I don't see an obvious advantage to either approach.
Thanks,
Paul Larson
>From a8e5da5a30290b63a5ead662d5fafa4905e8befc Mon Sep 17 00:00:00 2001
From: Jeremy Chang <jeremy(a)0xlab.org>
Date: Mon, 14 Feb 2011 11:39:39 +0800
Subject: [PATCH] Make adbd listen on network and usb gadget concurrently
Device accessed by adb through usb and network concurrently is possible.
For both interfaces listening case, there will be two threads created.
Signed-off-by: Jeremy Chang <jeremy(a)0xlab.org>
---
adb/adb.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/adb/adb.c b/adb/adb.c
index d9f96df..7f1b12a 100644
--- a/adb/adb.c
+++ b/adb/adb.c
@@ -946,13 +946,14 @@ int adb_main(int is_daemon, int server_port)
if (sscanf(value, "%d", &port) == 1 && port > 0) {
// listen on TCP port specified by service.adb.tcp.port property
local_init(port);
- } else if (access("/dev/android_adb", F_OK) == 0) {
- // listen on USB
- usb_init();
} else {
// listen on default port
local_init(DEFAULT_ADB_LOCAL_TRANSPORT_PORT);
}
+
+ if (access("/dev/android_adb", F_OK) == 0) {
+ usb_init();
+ }
init_jdwp();
#endif
--
1.7.1
Hello list,
I'm a developer at 0xlab and focus on toolchain development.
While Android WG was working on integrating Linaro toolchain to Android
system, we encountered prelink error since there are some empty symbols in
symtab produced by toolchain linaro gcc-4.5 + binutils-2.20. The error
message is:
target Prelink: libc
(out/target/product/beagleboard/symbols/system/lib/libc.so)
ASSERTION FAILURE external/elfcopy/elfcopy.c:2457:
[!(shdr_info[sym->st_shndx].shdr.sh_flags & SHF_ALLOC)]
However, we verified it by linaro gcc-4.5 + google binutils-2.19. There is
no prelink problem on this toolchain combination.
(Google binutils-2.19 is not compatible to linaro gcc-4.5 since some new
feature and new instructions used in linaro gcc-4.5).
We produced the link map file and traced this problem, the symbols are
merged by linker optimization (relax) and empty entires are inserted in
symtab. In function elf_link_output_sym at bfd/elflink.c:
if (name == NULL || *name == '\0')
elfsym->st_name = 0;
else if (input_sec->flags & SEC_EXCLUDE)
elfsym->st_name = 0; // st_name will be set to emtry
else
{
elfsym->st_name = (unsigned long) _bfd_stringtab_add (finfo->symstrtab,
name, TRUE,
FALSE);
if (elfsym->st_name == (unsigned long) -1)
return 0;
}
When const strings are merged, the bit of SEC_EXCLUDE in input_sec->flags
will be set.
The bfd elf linker will set the elfsym->st_name to 0.
Before binutils-2.19, the merged string is pushed in section 'glue_t' and
the path is not be traveled.
I think it's not make sense that the address of NOTYPE symbol *not* behind
its section. The zero must be not behind section "rodata.str1.1".
So I filed a bug in
https://bugs.launchpad.net/binutils-linaro/+bug/707487<https://bugs.launchpad.net/binutils-linaro/+bug/707487/+subscribe>
.
The log is readelf -a libc.so | grep 00000000 | grep -v FILE | grep -v
SECTION | grep -v UND
3372: 00000000 0 NOTYPE LOCAL DEFAULT 8
3375: 00000000 0 NOTYPE LOCAL DEFAULT 8
3381: 00000000 0 NOTYPE LOCAL DEFAULT 8
3382: 00000000 0 NOTYPE LOCAL DEFAULT 8
3397: 00000000 0 NOTYPE LOCAL DEFAULT 8
3408: 00000000 0 NOTYPE LOCAL DEFAULT 8
3409: 00000000 0 NOTYPE LOCAL DEFAULT 8
3411: 00000000 0 NOTYPE LOCAL DEFAULT 8
3415: 00000000 0 NOTYPE LOCAL DEFAULT 8
3424: 00000000 0 NOTYPE LOCAL DEFAULT 8
3437: 00000000 0 NOTYPE LOCAL DEFAULT 8
3439: 00000000 0 NOTYPE LOCAL DEFAULT 8
Any comments?
Thanks,
Luse
http://0xlab.org/
This patch series enables Thumb-2 support for omap3 and omap4.
It is not currently well tested, and is known to be faulty for
certain power management operations including power-off suspend
when CONFIG_THUMB2_KERNEL is enabled.
Note that from the patch series, this subset are temporary workarounds
and not likely to be merged upstream:
ARM: Add local symbols in relocate_kernel.S to work around gas bugs
ARM: omap3: Work around assembler errors in sleep34xx.S
ARM: Avoid discarding sections that might have SMP_ON_UP fixups
Full description follows.
Cheers
---Dave
The following changes since commit 9e9711855260b246ba31e79bf420a350bc652ab2:
ARM: ptrace: remove single-step emulation code (2011-02-12 14:06:02 -0500)
are available in the git repository at:
git://git.linaro.org/people/dmart/linux-2.6-arm.git for-linaro-2.6.37/dirty/arm/omap-thumb2+merged
Dave Martin (10):
ARM: omap4: Provide do_wfi() for Thumb-2
ARM: omap4: Convert END() to ENDPROC() for correct linkage with CONFIG_THUMB2_KERNEL
ARM: omap3: Remove hand-encoded SMC instructions
ARM: omap3: Thumb-2 compatibility for sram34xx.S
ARM: omap3: Thumb-2 compatibility for sleep34xx.S
ARM: Thumb-2: Symbol manipulation macros for function body copying
ARM: Correct WFE() in asm/spinlock.h for Thumb-2
ARM: Add local symbols in relocate_kernel.S to work around gas bugs
ARM: omap3: Work around assembler errors in sleep34xx.S
ARM: Avoid discarding sections that might have SMP_ON_UP fixups
Jean Pihet (2):
omap: use fncpy to copy the PM code functions to SRAM
OMAP: fix fncpy API call
Ming Lei (1):
arm: fix oops in sched_clock_poll
arch/arm/include/asm/fncpy.h | 94 +++++++++++++++++++++++
arch/arm/include/asm/spinlock.h | 18 ++++-
arch/arm/kernel/relocate_kernel.S | 12 ++-
arch/arm/kernel/sched_clock.c | 4 +-
arch/arm/kernel/vmlinux.lds.S | 18 +++++
arch/arm/mach-omap1/pm.h | 6 +-
arch/arm/mach-omap1/sleep.S | 3 +
arch/arm/mach-omap1/sram.S | 1 +
arch/arm/mach-omap2/include/mach/omap4-common.h | 4 +
arch/arm/mach-omap2/omap-headsmp.S | 2 +-
arch/arm/mach-omap2/omap44xx-smc.S | 8 +-
arch/arm/mach-omap2/pm.h | 2 +-
arch/arm/mach-omap2/sleep24xx.S | 2 +
arch/arm/mach-omap2/sleep34xx.S | 63 +++++++++++-----
arch/arm/mach-omap2/sram242x.S | 3 +
arch/arm/mach-omap2/sram243x.S | 3 +
arch/arm/mach-omap2/sram34xx.S | 29 +++++--
arch/arm/plat-omap/include/plat/sram.h | 14 +++-
arch/arm/plat-omap/sram.c | 14 ++-
19 files changed, 253 insertions(+), 47 deletions(-)
create mode 100644 arch/arm/include/asm/fncpy.h