On Mon, Jan 31, 2011 at 11:58 AM, Paul Larson <paul.larson(a)linaro.org>wrote:
> 2. One queue TOTAL. One queue may seem like a bottleneck, but I don't
>>> think it has to be in practice. One process can monitor that queue, then
>>> launch a process or thread to handle each new job that comes in.
>>>
>> I think RabbitMQ message can have the ability to include the board
>> information in it to use one queue, and also we can use different queues for
>> different types of boards.
>>
> Right, but my question was, if you are already encoding that information in
> the job stream, what is the advantage to having a queue for each board type,
> rather than a single queue?
>
>
>>
>>>
>>>
>>> Job description:
>>> I'd like to see some more detail here. Can you provide an example of a
>>> job file that would illustrate how you see it working? We also need to
>>> specify the underlying mechanisms that will handle parsing what's in the job
>>> file, and calling [something?] to do those tasks. What we have here feels
>>> like it might be a bit cumbersome.
>>>
>> I added an detailed one on the spec, like:
>>
>> 1.
>>
>> [Beagle-1,
>> http://snapshots.linaro.org/11.05-daily/linaro-hwpacks/imx51/20110131/0/ima…,
>>
>> http://snapshots.linaro.org/11.05-daily/linaro-headless/20110131/0/images/t…,
>> 900, ["abrek", "LTP", 180], ["none", "echo 100 > abc", 1], ... ]
>> 2.
>>
>> [IMX51-2, 20100131, 900, ["abrek", "LTP", 180], ["none", "echo 100 >
>> abc", 1], ... ]
>>
>> This looks almost like JSON, which is what Zygmunt was originally pushing
> for IIRC. If we are already going down that path, seems it would be
> sensible to take it a step further and have defined sections. For example:
>
> Tests:[
> {
> name:"LTP",
> testsuite:"abrek",
> subtest:"ltp", <---- not thrilled about that name "subtest",
> but can't think of something better to call it at the moment
> timeout:180,
> reboot_after:True
> },
> {
> name:"echo test",
> testsuite:"shell",
> timeout:20
> reboot_after:False
> }
> ]
> What do you think? Obviously, there would be other sections for things
> like defining the host characteristics, the image to deploy, etc.
>
>
>>
>>>
>>>
>> Other questions...
>>> What if we have a dependency, how does that get installed on the target
>>> image? For example, if I want to do a test that requires bootchart be
>>> installed before the system is booted, we should be able to specify that,
>>> and have it installed before booting.
>>>
>>> What about installing necessary test suites? How do we tell it, in
>>> advance, what we need to have installed, and how does it get on the image
>>> before we boot, or before we start testing?
>>>
>> I think validation tools, test suites and necessary files are likely to
>> install after test image deployment.
>>
> Yes, clearly they have to be installed after deployment, but we may also
> need to consider them installing BEFORE we actually boot the test image.
>
> Had another thought on this tonight, I didn't hear much back on the
previous proposal, but how about something more like this as an example of
what a job description might look like. In this scenario, there would be
some metadata for the job itself, such as timeout values, etc. Then steps
that would define commands with parameters. That would allow us to be more
flexible, and add support for more commands without changing the format.
Hopefully the mailer doesn't mangle this too badly. :)
{
"job_name": "foo",
"target": "panda01",
"timeout": 18000,
"steps": [
{
"command": "deploy",
"parameters":
{
"rootfs": "
http://snapshots.linaro.org/11.05-daily/linaro-developer/20110208/0/images/…
"
"hwpack": "
http://snapshots.linaro.org/11.05-daily/linaro-hwpacks/panda/20110208/0/ima…
"
}
},
{
"command": "boot_test_image"
},
{
"command": "test_abrek",
"parameters":
{
"test_name": "ltp"
}
},
{
"command": "submit_results",
"parameters":
{
"server": "http://dashboard.linaro.org",
"stream": "panda01-ltp"
}
}
]
}
Thanks,
Paul Larson
On Tue, 15 Feb 2011, Vishwanath Sripathy wrote:
> Hi Nicolas,
>
> Pls find attached the patch set for supporting DVFS feature on OMAP.
> These patches have been generated against latest Linaro 2.6.37 tree
> and tested on OMAP3430 and ZOOM3.
>
> Note that these patches are already posted to linux omap mailing list
> (https://patchwork.kernel.org/patch/495021/) and they are under
> discussion. So I have prefixed these patches as WIP. Kindly merge
> these patches for 11.05 release.
A few notes on those patches:
1) Please CC linaro-dev next time so other people are aware of what you
did, what you sent me, etc. I've added it to this reply. This way
at least if nothing happens with your patches it's easier to put the
blame on me. :-)
2) Your cover message contains this in plain sight in the diffstat part:
mode change 100644 => 100755 arch/arm/mach-omap2/voltage.c
mode change 100644 => 100755 arch/arm/plat-omap/cpu-omap.c
This is clearly wrong to flag .c files as executables, so you should
take care to fix that and understand why this happened in the first
place. Incidentally this mode change does not appear in any of your
patches.
3) All your patches were numbered, except for:
V4-OMAP3-PM-Set-clear-T2-bit-for-Smartreflex-on-TWL.patch
Since I'm sure you know better than I do where that patch should be
applied in the series (if at all) you should rename it appropriately,
or at least let me know in which order to apply it (I initially
applied it last based on the date recorded in the patch but that
didn't work out).
4) This patch is a bit thin on explanation:
[PATCH 08/13] [PM WIP OMAP] OMAP3: cpufreq driver changes for DVFS support
Changes in the omap cpufreq driver for DVFS support.
Signed-off-by: Vishwanath BS <vishwanath.bs(a)ti.com>
What are those changes? It is not obvious to me looking at the
patch. All the other patches are sufficiently documented.
I've applied them to the linaro-2.6.37 branch. Please note that the
11.05 Linaro release will be based on a 2.6.38 branch I'm about to
create. Can you tell me what is the likelyhood for those patches to be
merged upstream for the next merge window?
Nicolas
Hi
Commit r99457 on linaro 4.5 branch is causing a ICE when compiling the
attached file with following options
gcc-4_5-branch/build.i686-linux.armeb-oe-linux-gnueabi/gcc/cc1 -O2
-mtune=xscale a.i
It only happens when I use -mtune=xscale otherwise it compiles fine
It was tested on armeb I have not done a test on LE.
I have attached the testcase to this email as well.
Thanks
-Khem
Hello list,
Regarding integration of LAVA [1] architecture with Android devices,
we would like to reuse the existing
infrastructure and framework design. Abrek [2] is a great testsuite
framework for running test cases and
benchmarks. However, due to the restrictions of unusual Android
runtime, we consider to introduce the
agent-based remote validation invocation mechanism for LAVA as the
extension. Also, the proof-of-concept
implementation is attached.
** Why can't we execute LAVA/Abrek directly on Android devices?
LAVA/Abrek is written in Python, which implies there must be a solid
Python runtime for Android. CPython is
verified and well-designed, but it is not well tested on Android. In
fact, Android has its own libc implementation,
bionic, which is the minimal and special libc originally taken from
NetBSD libc. However, bionic libc only supports
limited set of POSIX C APIs, and it is almost not feasible to maintain
Linaro bionic modifications in early stage
just to satisfy CPython. The bionic libc is always changed fast by
Google engineers, and we have no idea about
their plans.
Therefore, we prefer the way not to modify Android runtime. That is,
don't execute LAVA/Abrek directly on
Android environment.
** Yet another agent?
In fact, Android already provide an elegant approach for accessing
target environment, adb (Android Debug
Bridge)[3], which is a versatile tool allowing users to manage the
state of Android-powered device. adb itself
is a client-server program that includes three components:
(1) A client, which runs on your development machine. You can invoke a
client from a shell by issuing an adb command.
(2) A server, which runs as a background process on your development
machine. The server manages communication between the client and the
adb daemon running on the device.
(3) A daemon, which runs as a background process on each device instance.
The adb protocol can be established through USB (device needs to
enable Android USB gadget driver) or
TCP/IP. adb is very solid and powerful. For example, if you would
like to test Android UI, you can use the
command on Host side:
$ adb shell monkey -v -p your.package.name 500
The above could be illustrated:
Host commands --> adb protocol (USB or TCP/IP) --> Target receives
the command --> execute "monkey"
Monkey is a program on Android device that runs on your emulator or
device and generates pseudo-random
streams of user events such as clicks, touches, or gestures, as well
as a number of system-level events.
In this example, your Android application is launched, and 500
pseudo-random events are sent to it. We call
it as "agent-based remote invocation", and it is built-in.
** So, what's agent-based remote validation invocation for LAVA?
There are three key items:
(a) Agent
(b) Remote validation invocation
(c) LAVA
We keep in mind that we make no technical impact to LAVA architecture,
and the "Agent" is just the "helper".
Originally, the client-server communication looks like the following:
LAVA server <----> LAVA client --> Abrek test suite
Since Python runtime is hard to support, the proposed model would be:
LAVA server <--> LAVA client --> Abrek test suite || adb
extension (host) <--> adb (target) -> execute command
For integrating test items and benchmarks for Android, this proposal
is running abrek on the host side.
By using Android's standard tool, adb to communicate with the adbd
(adb daemon) on target, the test case
commands can be issued and the output can return back. Besides, the
files can be pushed and pull to and
from the target by adb as well. Sometimes the results may be stored
in certain file on target, and we definitely
could couple with the case. Thus, running abrek on host side along
with "Agent" should be a workable approach.
** Show me the use case
The attached patch is just trivial proof-of concept implementation
done by Jeremy Chang that adds a 'monkey'
test definition file for abrek. Once TCP/IP or USB is ready, for
Android's monkey testing, the procedure is like
as following:
(1) abrek run monkey
(2) abrek dashboard put /anonymous/ monkey1297752359.0
In addition, if we wish to execute certain native application on
Android device, abrek could ask adb to send the
executable files and related data to target first. Then, execute it
as expected. The command looks like:
$ adb push <my-executable-file> /system/bin
$ adb push <my-data-file> /data
$ adb shell /system/bin/<my-executable-file>
The above instructions could be refined into "adb extension" as the
part of LAVA client framework.
That's all. It could be straightforward and transparent.
Any suggestion is appreciated. Thank you in advance.
Sincerely,
Jim Huang (jserv)
http://0xlab.org/
[1] https://wiki.linaro.org/Platform/Validation/LAVA/Architecture
[2] https://wiki.linaro.org/Platform/Validation/AbrekTestsuites
[3] http://developer.android.com/guide/developing/tools/adb.html
Hello, my fellow ARM aficionados!
The Linaro Developer Platform Team is pleased to announce a new initiative
to help improve the state of software on ARM: the ARM porting jam. Starting
today, February 16th, we will be running a weekly IRC jam on Wednesdays from
1400-1800 UTC to bring developers together to work on all manner of
userspace porting bugs, with the aim of fixing portability issues and
getting the fixes delivered to our upstreams.
An initial porting queue of known issues can be found here:
https://bugs.launchpad.net/ubuntu/+bugs?field.tag=arm-porting-queue
Interested in making the software in Ubuntu run better on ARM? Stop on by
the #linaro channel on irc.linaro.org today!
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
slangasek(a)ubuntu.com vorlon(a)debian.org
The wiki formatted minutes are at:
https://wiki.linaro.org/Mentoring/Status/2011-02-15
Please direct suggestions or comments to Matt or Andy.
Cheers,
Matt
== Team Highlights ==
* Wiki Additions
* https://wiki.linaro.org/Mentoring/Additions-l-m-c
* Email setup
* https://wiki.linaro.org/Internal/Process/ThunderbirdSetup
* https://wiki.linaro.org/Internal/Process/MuttSetup
* https://wiki.linaro.org/Internal/Process/CalendarSetup
* https://wiki.linaro.org/Mentoring/HowTo/UbuntuDevelopmentProcess
* https://wiki.linaro.org/Mentoring/KernelDeploy
== Action Items and Minutes ==
* Training the Trainers checklist - Both
* IRC quick reference link - Matt
* Xchat tutorial - Ericm's request - Andy
* Conference Call System rewrite - Matt
* Tailored new staff to-do list - Add to New Staff task? - Both
* Recorded new staff checklist - Maybe a google form - Matt
* Review survey - individuals and trends
* Mumble - Matt
* Gobby - Andy
* Tech lead feedback email
* Break out Angus' email into to-do items - Andy
* Mapping between Launchpad projects and Linaro teams - Both
* Android information - Andy
* Extend category tag usage
* Waiting on Trainers - should we suggest people
== Risks / Issues ==
* Risk - Unable to recruit trainers within member organizations
- carry over from last week
* Mitigation - Perform mentoring tasks from within this team
* Mitigation - Break responsibilities into smaller portions and
recruit multiple trainers
* Information we have developed is not easy to find or accessible
== Miscellaneous ==
* Holidays - Feb 21, 2011 - US President's day