I have created the UDS-session blueprints (blueprints to schedule the UDS
sessions) as
discussed in the meeting this morning. Take a look at the sessions
specially the ownership
and make sure you agree, you will have to run the session at UDS if you are
the assignee (owner).
As it turned out, each major Technical Requirement will have one session,
with the exception of k1
where k1.1 (fix arm/linus interface) will have 5 daily sessions. So, most
of the sessions cover
multiple topics, you may need have to co-ordinate with others to run your
session.
https://wiki.linaro.org/WorkingGroups/Kernel/Cycle11.11SessionsSetup
Paul,
you need to approve all these blueprints in order to start scheduling them.
Grant,
You have registered sessions for boot architecture and DT, please send me
the blueprints links so I can add them to this table.
Regards,
Mounir
== Device Tree ==
* Sent a couple of u-boot patch to remove useless CONFIG_SYS_BOOTMAPSZ
and redefined CONFIG_OF_LIBFDT for mx51/53
* Tested zImage fix patch set with append-dtb patch
* It seems that RMK opposes to putting dts file in kernel tree
== Non-blocking MMC testing ==
* Some more discussion with Per Porlin on mxs-mmc driver regarding
to non-blocking support. Need to do more testing to understand
if the ~4% performance improvement is expected on mxs-mmc.
== LTP Blueprint ==
* Created the initial blueprint linaro-kernel-o-ras-fix-ltp
* Tried ltp-full-20110228 and ltp-kernel-test package shipped with
Natty (ltp-base-20091231), and saw very different test set and
results.
* Got contacted with Paul Larson who was ever the maintainer of LTP
and now leading the Validation team and using LTP to validating
Linaro images. He may give valuable inputs to the requirements
of this Blueprint.
== Plan ==
* Will work on v2 of sdhci-pltfm&of-consolidation
* Keep drafting blueprint linaro-kernel-o-ras-fix-ltp
--
Regards,
Shawn
== Paul E. McKenney <paulmck> ==
=== Highlights ==
* Sent Sedat Dilek yet more sets of diagnostics. This turned out to be a bug in the timers system, which Thomas Gleixner fixed.
* Interviewed another candidate for Kernel WG, also +1.
* Pre-Budapest definition/scheduling work.
* Presented on SMP to the Android System Developers Forum.
* Submitted RCU priority boosting to LKML, got good initial feedback. On track for the 2.6.40 merge window.
== Per Forlin <perfor> ==
=== Highlights ===
* Preparing drafts for 11.11 blueprints
* K7.3 Non-Blocking Request in MMC
* K7.4 eMMC Background Maintenance
* K7.6 SDIO Single Function Support
* K7.10 DMA Engine on ARM
* Started to investigate io-scheduling but ended up studying read
ahead instead. It may turn out that "K7.2 Optimize I/O Scheduling for
Flash" is not the right thing to do for flash performance.
=== Plans ===
* Prepare blueprints for LDS
== John Stultz <jstultz_vm> ==
=== Highlights ===
* Posix Alarm Timers were pulled into -tip for 2.6.40!
* However, some config related build issues were discovered, but
I've sent a proposed fix to handle it.
* Arve from Google commented on one of the Alarm Timer patches,
suggesting a way to avoid error accumulation each suspend/resume cycle.
* Reviewed Andy Green's slides for his talk and provided feedback.
* Submitted the virtual battery driver, which is an out of tree patch
in the Linaro+Android kernel tree, for review on lkml. After feedback
from maintainer, I worked to merge the same functionality into the
test_power driver and submitted that for inclusion.
* Worked on Android Kernel Blueprints/Specs
* Got some complaints on an old patch of mine that changed some of the
task->comm locking rules, so submitted a rough draft patch on how to
address the issue. Currently in discussion there.
* Submitted Linux Plumbers conf BoF on Kconfig fragment work queued for
11.11 cycle
=== Plans ===
* Handle any last minute alarmtimer changes for -tip.
* Try to adapt Arve's RTC suggestions into the tree.
* Take another shot at the task->comm issue.
* Continue working on the trivial tree to send out cpufreq and cgroup
branches.
* Follow up on the trivial tree patches sent out this week.
* Try to get time to look at ADB support for Android kernels
=== Issues ===
* I've got Jury Duty on Weds, so will be out for most of the day.
Hi,
I am working on minimizing the latency between two block requests in
the mmc framework. The approach is simple. If there are more than one
request in the block queue the 2nd request will be prepared while the
1st request is being transfered. When the 1 st request is completed
the 2nd request will start with minimal latency cost.
For writes this work fine:
root@(none):/ dd of=/dev/mmcblk0p2 if=/dev/zero bs=4k count=2560
2560+0 records in
2560+0 records out
root@(none):/ dmesg
[mmc_queue_thread] req d97a2ac8 blocks 1024
[mmc_queue_thread] req d97a2ba0 blocks 1024
[mmc_queue_thread] req d97a2c78 blocks 1024
[mmc_queue_thread] req d97a2d50 blocks 1024
[mmc_queue_thread] req d97a2e28 blocks 1024
[mmc_queue_thread] req d97a2f00 blocks 1024
[mmc_queue_thread] req d954c9b0 blocks 1024
[mmc_queue_thread] req d954c800 blocks 1024
[mmc_queue_thread] req d954c728 blocks 1024
[mmc_queue_thread] req d954c650 blocks 1024
[mmc_queue_thread] req d954c578 blocks 1024
[mmc_queue_thread] req d954c4a0 blocks 1024
[mmc_queue_thread] req d954c8d8 blocks 1024
[mmc_queue_thread] req d954c3c8 blocks 1024
[mmc_queue_thread] req d954c2f0 blocks 1024
[mmc_queue_thread] req d954c218 blocks 1024
[mmc_queue_thread] req d954c140 blocks 1024
[mmc_queue_thread] req d954c068 blocks 1024
[mmc_queue_thread] req d954cde8 blocks 1024
[mmc_queue_thread] req d954cec0 blocks 1024
mmc block queue is never empty. All the mmc request preparations can
run in parallel with an ongoing transfer.
[mmc_queue_thread] req (null) blocks 0
[mmc_queue_thread] req (null) blocks 0
"req (null)" indicates there are no requests pending in the mmc block
queue. This is expected since there are no more requests to process.
For reads on the other hand it look like this
root@(none):/ dd if=/dev/mmcblk0 of=/dev/null bs=4k count=256
256+0 records in
256+0 records out
root@(none):/ dmesg
[mmc_queue_thread] req d954cec0 blocks 32
[mmc_queue_thread] req (null) blocks 0
[mmc_queue_thread] req (null) blocks 0
[mmc_queue_thread] req d954cec0 blocks 64
[mmc_queue_thread] req (null) blocks 0
[mmc_queue_thread] req d954cde8 blocks 128
[mmc_queue_thread] req (null) blocks 0
[mmc_queue_thread] req d954cec0 blocks 256
[mmc_queue_thread] req (null) blocks 0
[mmc_queue_thread] req d954cde8 blocks 256
[mmc_queue_thread] req (null) blocks 0
[mmc_queue_thread] req d954cec0 blocks 256
[mmc_queue_thread] req (null) blocks 0
[mmc_queue_thread] req d954cde8 blocks 256
[mmc_queue_thread] req (null) blocks 0
[mmc_queue_thread] req d954cec0 blocks 256
[mmc_queue_thread] req (null) blocks 0
[mmc_queue_thread] req d954cde8 blocks 256
[mmc_queue_thread] req (null) blocks 0
[mmc_queue_thread] req d954cec0 blocks 256
[mmc_queue_thread] req (null) blocks 0
[mmc_queue_thread] req d954cde8 blocks 256
[mmc_queue_thread] req (null) blocks 0
[mmc_queue_thread] req d954cec0 blocks 256
[mmc_queue_thread] req (null) blocks 0
[mmc_queue_thread] req (null) blocks 0
There are never more than one read request in the mmc block queue. All
the mmc request preparations will be serialized and the cost for this
is roughly 10% lower bandwidth (verified on ARM platforms ux500 and
Pandaboard).
> page_not_up_to_date:
> /* Get exclusive access to the page ... */
> error = lock_page_killable(page);
I looked at the code in do_generic_file_read(). lock_page_killable
waits until the current read ahead is completed.
Is it possible to configure the read ahead to push multiple read
request to the block device queue?
Thanks,
Per
Hi Jerry & Wolfgang,
The following series fixes a bug in the device tree code and
eliminates the CONFIG_OF_LIBFDT dependency on CONFIG_SYS_BOOTMAPSZ.
It also adds parsing of the reserved mem regions so that U-Boot
doesn't decide to use a regions set aside for another purpose.
Finally, the last patch adds CONFIG_OF_LIBFDT to a bunch of boards.
I'm not expecting the last patch to be picked up in mainline (yet),
but it will be picked up into the Linaro tree for the 11.05 release.
John, this same series applies cleanly on the linaro-stable u-boot
tree. Can you pick them up please? Or would you prefer me to send
you a pull request?
g.
---
Grant Likely (6):
Stop passing around bootmem_base value.
Default to bootm_size() when CONFIG_SYS_BOOTMAPSZ is not defined
Remove device tree booting dependency on CONFIG_SYS_BOOTMAPSZ
Fix off-by-one error in passing initrd end address via device tree
Respect memreserve regions specified in the device tree
Add CONFIG_OF_LIBFDT to more boards.
README | 16 ++++++++-
arch/arm/lib/bootm.c | 5 ++-
arch/m68k/lib/bootm.c | 7 +---
arch/powerpc/lib/bootm.c | 19 +++++-----
common/cmd_bootm.c | 7 ++--
common/fdt_support.c | 2 +
common/image.c | 72 +++++++++++++++++++++++++++++----------
include/configs/ca9x4_ct_vxp.h | 2 +
include/configs/devkit8000.h | 2 +
include/configs/efikamx.h | 2 +
include/configs/igep0020.h | 2 +
include/configs/igep0030.h | 2 +
include/configs/mx51evk.h | 2 +
include/configs/mx53evk.h | 2 +
include/configs/omap3_beagle.h | 7 ----
include/configs/omap3_overo.h | 2 +
include/configs/omap3_pandora.h | 2 +
include/configs/omap3_sdp3430.h | 2 +
include/configs/omap3_zoom1.h | 2 +
include/configs/omap3_zoom2.h | 2 +
include/configs/omap4_panda.h | 2 +
include/configs/omap4_sdp4430.h | 2 +
include/configs/tegra2-common.h | 1 +
include/image.h | 10 +++--
24 files changed, 122 insertions(+), 52 deletions(-)
--
Signature
I have created a step by step how to create a blueprint, specification and
how to make a Technical Requirement blueprint dependant on the engineering
blueprint.
This is meant to be for new assignees or as a refresher. If you are
comfortable in creating blueprints and know the process, you can ignore this
note.
https://wiki.linaro.org/WorkingGroups/Kernel/GettingStarted/blueprintStepby…
If you need clarification on the steps or recommendation for enhancement to
this step-by-step, please let me know.
Regards,
Mounir
== Per Forlin <perfor> ==
=== Highlights ===
* Discussing mmc nonblock implementation on mmc-mailing list.
* Studied block layer and found out that block read request for mmc
are often added one by one to the mmc blockdev, this is not the case
for scsi disk blockdev.
=== Absence ===
3 days off due to Eastern holiday and chicken pox
=== Plans ===
* Make draft for 11.11 specs
* Try out different configurations for io-sched
== Device Tree ==
* The .dtb support has been available in hwpack daily build and lmc
v0.0.4. Tested it on mx51 babbage and it works out of box.
* With the help from Dave and Nico, the failure of John Bonesio's
append-dtb patch on babbage was killed. It's caused by the use
of static variable in uncompressed.h, which will not be relocated
because it's not in .bss section.
* Caught the problem of babbage.dtb memory node, which misses
'device_type' property.
== Non-blocking MMC testing ==
* Added pre_req and post_req for SDHCI driver, but did not see
performance gain on mx51 esdhc. No comments from Per Forlin on
that so far.
* Added pre_req and post_req for for mxs-mmc driver and saw ~4%
performance improvement at the best case. Per Forlin gave some
comments saying pre_req and post_req were not added correctly. But
I do not completely understand his comments and asked him for
clarification. No further response yet so far.
== Misc ==
* Respond to Wolfram's comments on sdhci-pltfm&of-consolidation patch
set. Will work on the v2 next week.
* Reviewed a few mxs/mxc patches.
--
Regards,
Shawn
== John Stultz <jstultz_vm> ==
=== Highlights ===
* Pushed out updated Linaro Android tree which resolves the omap3 USB
issue and supports HDMI output on PandaBoard, allowing the Android UI to
now function on Panda.
* Sent out the Posix Alarm Timers patch queue to lkml for
review/inclusion.
* Rebuilt the Android Trivial tree from latest Android tree:
http://git.linaro.org/gitweb?p=people/jstultz/android-trivial.git;a=summary
* Sent out an MM patch for review from the Android Trivial Tree.
* Sent out six MMC patches for review from the Android Trivial Tree.
* Sent clocksource cleanup patch to Magnus Damm to follow up on a
conversation we had at ELC.
* Submitted a LPC BoF discussion on Kconfig fragments for internal
review.
* Reviewed and commented on Paul's ASDF presentation
* Sent some background info and links to slides to Andy Green for his
Android talk in Taiwan.
* Synced with Paul about ELC discussions.
=== Plans ===
* Continue working on the trivial tree to send out cpufreq and cgroup
branches.
* Follow up on the trivial tree patches sent out this week.
* Nag tglx to queue the Alarm Timers for 2.6.40
* Try to send the virtual battery driver in linaro+android tree out for
review.
* Try to get time to look at ADB support for Android kernels
=== Issues ===
* None.
== Paul E. McKenney <paulmck> ==
=== Highlights ==
* Working RCU priority boosting bug: Cheng Xu encountered same bug with user-level program, so this is officially a scheduler bug. Fortunately, my workarounds still are working.
* Sent Sedat Dilek two sets of diagnostics thus far, working up a third set. Problem is in wake-up path for per-CPU kthread.
* Email and IRC with Thomas Gleixner, Andrew Morton, and Linus Torvalds on maintainership issue.
* Interviewed two candidates for Kernel WG, both are +1. A third candidate was no-show. Will set up interview with fourth candidate as soon as I receive contact information.
* Pre-Budapest definition/scheduling work.
* Met with the incoming Kernel WG lead to review draft plans (which is only fair, given that he will be leading them up). We will put a transition plan together in Budapest.
* Debriefed John Stultz on his meeting with the Android guys. John's discussions unearthed an additional suspend-blocker requirement, which I added to the list at [[https://wiki.linaro.org/WorkingGroup/KernelConsolidation/Projects/AndroidSu….
== Miscellaneous ==
* Another iteration on Lai Jiangshan's RCU_PREEMPT inlining patches
Hi toolchain, kernel folks,
I'm seeing an interesting thing on .got and .bss sections of
arch/arm/boot/compressed/vmlinux, and really need your expertise to
shed some lights.
I have an uninitialized variable 'uart_base' defined in misc.c.
static unsigned long uart_base;
$ arm-linux-gnueabi-objdump -D arch/arm/boot/compressed/misc.o
Disassembly of section .bss:
00000000 <uart_base>:
0: 00000000 andeq r0, r0, r0
00000004 <__machine_arch_type>:
4: 00000000 andeq r0, r0, r0
[...]
And section layout looks like the following.
$ arm-linux-gnueabi-objdump -h arch/arm/boot/compressed/vmlinux
SECTIOINS {
...
_etext = .;
_got_start = .;
.got : { *(.got) }
_got_end = .;
.got.plt : { *(.got.plt) }
_edata = .;
. = ALIGN(4);
__bss_start = .;
.bss : { *(.bss) }
_end = .;
...
}
$ arm-linux-gnueabi-objdump -h arch/arm/boot/compressed/vmlinux
arch/arm/boot/compressed/vmlinux: file format elf32-littlearm
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 001c474c 00000000 00000000 00008000 2**5
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .got 00000028 001c474c 001c474c 001cc74c 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .got.plt 0000000c 001c4774 001c4774 001cc774 2**2
CONTENTS, ALLOC, LOAD, DATA
3 .bss 00000020 001c4780 001c4780 001cc780 2**2
ALLOC
4 .stack 00001000 001c47a0 001c47a0 001cc780 2**0
ALLOC
5 .comment 0000002a 00000000 00000000 001cc780 2**0
CONTENTS, READONLY
6 .ARM.attributes 00000031 00000000 00000000 001cc7aa 2**0
CONTENTS, READONLY
I'm able to see uart_base in vmlinux objdump ...
$ arm-linux-gnueabi-objdump -t arch/arm/boot/compressed/vmlinux
[relevant only, and sorted]
00000000 l d .text 00000000 .text
001c474c l d .got 00000000 .got
001c4774 l d .got.plt 00000000 .got.plt
001c4780 l d .bss 00000000 .bss
003968e4 g *ABS* 00000000 _image_size
001c474c g *ABS* 00000000 _got_start
001c4774 g *ABS* 00000000 _got_end
001c4780 g *ABS* 00000000 _edata
001c4780 g *ABS* 00000000 __bss_start
001c4780 l O .bss 00000004 uart_base
001c4798 g O .bss 00000004 malloc_ptr
001c478c g O .bss 00000004 output_ptr
001c479c g O .bss 00000004 malloc_count
001c4794 g O .bss 00000004 free_mem_end_ptr
001c4788 g O .bss 00000004 output_data
001c4784 g O .bss 00000004 __machine_arch_type
001c4790 g O .bss 00000004 free_mem_ptr
001c47a0 g *ABS* 00000000 _end
... but I can not see it in the zImage (all others in .bss seem still
there).
$ xxd arch/arm/boot/zImage | tail
01c4740: 3ef1 1400 be52 9f58 e468 3900 4c47 1c00 >....R.X.h9.LG..
^_got_start (why is it?)
01c4750: 9847 1c00 1043 0000 8c47 1c00 9c47 1c00 .G...C...G...G..
^malloc_ptr ^output_ptr
01c4760: 9447 1c00 080a 0000 8847 1c00 8447 1c00 .G.......G...G..
^free_mem_end_ptr ^__machine_arch_type
01c4770: 9047 1c00 0000 0000 0000 0000 0000 0000 .G..............
^free_mem_ptr
The following is a run-time memdump at _got_start.
Before recalculation:
9056304C: 001C474C 001C4798 00004310 001C478C 001C479C 001C4794 00000A08 001C4788
^_got_start (why is it?)
9056306C: 001C4784 001C4790 00000000 00000000 00000000 EDFE0DD0 4C010000 38000000
After recalculation (for .bss entries, the delta is 9039EA50, for
others in .got, delta is 9039E900):
9056304C: 9056304C 905631E8 903A2C10 905631DC 905631EC 905631E4 9039F308 905631D8
9056306C: 905631D4 905631E0 00000000 00000000 00000000 73FBC000 4C010000 38000000
QUESTION: Where is the .bss section of uart_base?
Now, I remove the 'static' to have 'unsigned long uart_base', and
dump the same stuff to compare.
$ arm-linux-gnueabi-objdump -D arch/arm/boot/compressed/misc.o
Disassembly of section .bss:
00000000 <__machine_arch_type>:
0: 00000000 andeq r0, r0, r0
00000004 <uart_base>:
4: 00000000 andeq r0, r0, r0
I'm able to see uart_base in vmlinux objdump ...
$ arm-linux-gnueabi-objdump -t arch/arm/boot/compressed/vmlinux
[relevant only, and sorted]
00000000 l d .text 00000000 .text
001c4720 l d .got 00000000 .got
001c474c l d .got.plt 00000000 .got.plt
001c4758 l d .bss 00000000 .bss
003968e4 g *ABS* 00000000 _image_size
001c4720 g *ABS* 00000000 _got_start
001c474c g *ABS* 00000000 _got_end
001c4758 g *ABS* 00000000 _edata
001c4758 g *ABS* 00000000 __bss_start
001c475c g O .bss 00000004 uart_base
001c4770 g O .bss 00000004 malloc_ptr
001c4764 g O .bss 00000004 output_ptr
001c4774 g O .bss 00000004 malloc_count
001c476c g O .bss 00000004 free_mem_end_ptr
001c4760 g O .bss 00000004 output_data
001c4758 g O .bss 00000004 __machine_arch_type
001c4768 g O .bss 00000004 free_mem_ptr
001c4778 g *ABS* 00000000 _end
... and I can also see it in the final zImage.
$ xxd arch/arm/boot/zImage | tail
01c4710: 221f f1b3 3ef1 1400 be52 9f58 e468 3900 "...>....R.X.h9.
01c4720: 5c47 1c00 2047 1c00 7047 1c00 e442 0000 \G.. G..pG...B..
^uart_base
01c4730: 6447 1c00 7447 1c00 6c47 1c00 140a 0000 dG..tG..lG......
01c4740: 6047 1c00 5847 1c00 6847 1c00 0000 0000 `G..XG..hG......
01c4750: 0000 0000 0000 0000 ........
Surely, it's in the run-time memdump.
Before recalculation:
90563020: 001C475C 001C4720 001C4770 000042E4 001C4764 001C4774 001C476C 00000A14
^uart_base
90563040: 001C4760 001C4758 001C4768 00000000 00000000 00000000 EDFE0DD0 4C010000
After recalculation:
90563020: 905631AC 90563020 905631C0 903A2BE4 905631B4 905631C4 905631BC 9039F314
90563040: 905631B0 905631A8 905631B8 00000000 00000000 00000000 EDFE0DD0 4C010000
So it looks the non-static ('g') uninitialized variable sits in .bss
sections well, while static ('l') one is not there. Is this
expected? How the static one is being addressed? Or ask where the
offset for static one is stored?
Any info or comments are appreciated.
--
Regards,
Shawn
== Per Forlin <perfor> ==
=== Highlights ===
* integrated mmc none blocking in our internal tree at ST-Ericsson to
be able to piggy back on testing.
* started to investigate (specs for next cycle) how reads propagates
from user space down to mmc framework through io-scheduler and block
layer.
=== Absence ===
Friday
=== Plans ===
* Specs for next cycle
* Refactor "mmc none blocking" based on feedback
== John Stultz <jstultz_vm> ==
=== Highlights ===
* Gave my Presentation "Android OS on Servers?" at ELC
* Got to have a number of really useful conversations at ELC
* Attended a meeting with Google Android developers
=== Plans ===
* Catching up from being out last week and summarize my ELC experience
* Get inject_sleep_time patch sent to lkml/google devs for review.
* Get Linaro Android kernel updated, tested and pushed out for consumption
* Try to respin and push out the Android trivial-tree mmc patches for discussion
=== Issues ===
* Not enough time! :)
[ACTIVITY] (Thomas Abraham) 2011-04-12 - 2011-04-18
== Thomas Abraham <thomas_ab> ==
=== Highlights ===
* Continued testing of kexec-reboot failure of smdkv310 board
- Does not seem to be a issue with L2 cache enabled.
- Found with jtag that uart stops transmitting data after L2 cache is
disabled and hence no more console display.
- Need further debugging on this.
* Not much progress with kexec-crashdump on s5pv310 when using slub allocator.
- Works fine when using slub allocator.
* Working on converting Samsung clock code to use common clock framework.
- works on s5pv310 platform but need to extend it to all other Samsung platforms
* Working on extending clkdev support to all other Samsung platforms.
* Submitted third version of clkdev patch series for s5pv310 platform.
- http://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg04529.html
* Submitted bug fixes to to solve ethernet and sd/mmc card detection
issues on smdkv310 board.
=== Plans ===
* Complete clkdev and common clock support for all Samsung platforms.
=== Issues ===
* None.
== Conferences ==
* Talked at Linux Filesystem and Storage summit about flash drive problems
and how we can solve them
* Participated in the kernel developer panel at Collaboration Summit:
http://lwn.net/Articles/438155/
* Presented my research at Embedded Linux Conference
* Gave a keynote at Embedded Linux Conference
== Kernel ==
* Only few reviews this time, due to traveling:
u8500-hsem, spear pcie, sysfs-soc representation, mmc
== Other ==
* Vacation between the conferences
== Device Tree ==
* The make-dtbs patch has been merged by John Rigby on the
linux-linaro-natty tree.
* After a couple rounds of review given by Loic, the lmc dtb support
on branch lp:~shawnguo/linaro-image-tools/add-dtb has been
approved by Loic for merging lmc trunk.
== Misc ==
* Played Per Forlin's non-blocking mmc patch set on mx51 esdhc and
mx28 mxs-mmc, sent the patches of adding pre_req and post_req
support on these two controllers for reviewing.
* Reviewed the mxs gpmi device patch and a few i.mx consolidation
patches posted by Uwe.
--
Regards,
Shawn
== Paul E. McKenney <paulmck> ==
=== Highlights ==
* Working RCU priority boosting bug: found workaround that passes testing!!!
* Chasing the above bug suggested a number of possible simplifications, some of which might actually be worthwhile
* Sedat Dilek found a bug in a related patch, will reorganize tree to send him diagnostics along with that particular patch
* Found and fixed kexec bug in Power, but someone else beat me to it by one day
* Attended ELC: Google Android discussions and ARM maintainership issue
== Miscellaneous ==
* We have a couple of possible solutions for Lai Jiangshan's RCU_PREEMPT inlining patches
== Dave Martin <dmart> ==
=== Activity ===
==== hardware-n-kernel-standard-architecture ====
* Reposted VFP coredumps patch -- no further traffic.
* Investigated the status of ftrace with regard to Thumb-2.
The implementation appears already to be there and seems to
work, including dymamic ftrace.
==== miscellaneous ====
* Ongiong activity helping support linaro validation farm
activities (network, u8500 bringup). Got bootloader
reflashing working, but we don't have a working bootloader
image yet.
=== Plans ===
* Ping upstream re outstanding patches.
* Resume imx51 Thumb-2 investigations
=== Absences ===
* Apr 21 2011 - May 2 2011
---------- Forwarded message ----------
From: Dave Martin <dave.martin(a)linaro.org>
Date: Thu, Apr 14, 2011 at 5:01 PM
Subject: Re: Is VFP or Neon supported in kernel-side code? <EOM>
To: Tixy <tixy(a)yxit.co.uk>
> Is VFP or Neon supported in kernel-side code?
Currently, no.
There is some possible future work to see if we can enable this, to
allow acceleration of some number-crunching algorithms in the kernel,
but it's not implemented yet.
For now, I think it's reasonable simply to reject attempts to insert
kprobes on VFP/NEON instructions (as we must for cp15). I think that
these instructions are never used at the entry/exit points of
compiler-generated functions -- in any case, we build the kernel with
-msoft-float, so actually the compiler should never implicitly
generate these instructions at all.
Cheers
---Dave
On Thu, Apr 14, 2011 at 2:21 PM, Tixy <tixy(a)yxit.co.uk> wrote:
>
>
>
> _______________________________________________
> linaro-kernel mailing list
> linaro-kernel(a)lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-kernel
>
On recent make, commit 1449fb96, "arm/dt: Add a make rule to build
dtb for enabled boards" breaks build of the kernel immediately:
/projects/linaro/linux-2.6/arch/arm/Makefile:292: *** mixed implicit
and normal rules. Stop.
> $ rpm -q make
> make-3.82-4.fc15.x86_64
>
> ''The previous behavior of mixing implicit and pattern rules in one line
> like that was never supported or documented, but due to a "hole" in the
> parser it worked for certain specific cases (for example, reversing that
> line so the pattern comes first would not work, nor would adding extra
> explicit targets after the pattern target).
>
> In 3.82, the parser was tightened in this respect and that "hole" was
> closed, hence you see this error.''
This patch splits the rule to fix the bug.
Reported-by: Andy Green <andy.green(a)linaro.org>
Signed-off-by: Grant Likely <grant.likely(a)secretlab.ca>
---
arch/arm/Makefile | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 1be856a..4570ca7 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -289,7 +289,10 @@ zImage Image xipImage bootpImage uImage: vmlinux
zinstall uinstall install: vmlinux
$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@
-dtbs %.dtb:
+%.dtb:
+ $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
+
+dtbs:
$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
# We use MRPROPER_FILES and CLEAN_FILES now
@@ -308,6 +311,7 @@ define archhelp
echo ' uImage - U-Boot wrapped zImage'
echo ' bootpImage - Combined zImage and initial RAM disk'
echo ' (supply initrd image via make variable INITRD=<path>)'
+ echo ' dtbs - Build device tree blobs for enabled boards'
echo ' install - Install uncompressed kernel'
echo ' zinstall - Install compressed kernel'
echo ' uinstall - Install U-Boot wrapped compressed kernel'
On recent make, commit 1449fb96, "arm/dt: Add a make rule to build
dtb for enabled boards" breaks build of the kernel immediately:
/projects/linaro/linux-2.6/arch/arm/Makefile:292: *** mixed implicit
and normal rules. Stop.
> $ rpm -q make
> make-3.82-4.fc15.x86_64
>
> ''The previous behavior of mixing implicit and pattern rules in one line
> like that was never supported or documented, but due to a "hole" in the
> parser it worked for certain specific cases (for example, reversing that
> line so the pattern comes first would not work, nor would adding extra
> explicit targets after the pattern target).
>
> In 3.82, the parser was tightened in this respect and that "hole" was
> closed, hence you see this error.''
This patch splits the rule to fix the bug.
Reported-by: Andy Green <andy.green(a)linaro.org>
Signed-off-by: Grant Likely <grant.likely(a)secretlab.ca>
---
arch/arm/Makefile | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 1be856a..4570ca7 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -289,7 +289,10 @@ zImage Image xipImage bootpImage uImage: vmlinux
zinstall uinstall install: vmlinux
$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@
-dtbs %.dtb:
+%.dtb:
+ $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
+
+dtbs:
$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
# We use MRPROPER_FILES and CLEAN_FILES now
@@ -308,6 +311,7 @@ define archhelp
echo ' uImage - U-Boot wrapped zImage'
echo ' bootpImage - Combined zImage and initial RAM disk'
echo ' (supply initrd image via make variable INITRD=<path>)'
+ echo ' dtbs - Build device tree blobs for enabled boards'
echo ' install - Install uncompressed kernel'
echo ' zinstall - Install compressed kernel'
echo ' uinstall - Install U-Boot wrapped compressed kernel'
== Thomas Abraham <thomas_ab> ==
=== Highlights ===
* Tested kexec-reboot on s5pv310.
- Works if L2 cache is disabled.
- Debugging kernel reboot failure with L2 cache enabled.
* Tested kexec-crashdump on s5pv310.
- Works fine if capture kernel uses slab allocator but fails when
using slub allocator.
- With slub allocator, capture kernel crashes accessing a invalid
virtual memory location.
- Debugging the cause of capture kernel crash.
=== Plans ===
* Fix issues with kexec-reboot and kexec-crashdump for s5pv310 platform.
=== Issues ===
* None.
== m-y ==
=== Highlights ===
* Patch set for DMA support in USB for U8500 still waiting for the
maintainer's attention
* Currently helping out the landing team to support USB on Snowball
with kernel v2.6.38. Both host and peripheral sides are working.
Further testing is in progress.
=== Plans ===
* Add battery charging support in AB8500-usb driver.
Thanks,
--
Mian Yousaf Kaukab
== Device Tree ==
* The patch of dtb-make-rule got merged on Nico's tree, and sent
a follow-up patch to address the mixing rules issue with make 3.82
reported by Andy Green.
* Added .dtb files into linaro-image-*.deb package and sent
John Rigby the patch for including in the next release of linaro
natty tree.
* Added lmc dtb support for omap and mx5 based boards, and the patch
is being reviewed.
== Misc ==
* Had the Hungary VISA interview
--
Regards,
Shawn
Hi Loic,
I have lmc dtb support added for omap and mx5 at branch [1]. Can you
please help review the changes? I believe you will have comments
there :) Here are some notes I want to share.
* I chose not to add any argument to lmc for differentiating the
boards which do not support dt yet from those which already do.
Instead, I use board properties 'dtb_addr' and 'dtb_name'. With
this approach, all the changes will be limited in boards.py. And
also considering that the current solution may be temporary and we
will ultimately support dtb by appending it to kernel image, it may
be reasonable to save one lmc argument for temporary dtb support.
* Board 'igep' is being split into 'igepv2' and 'igepv3', as they get
different .dtb files.
* Boards 'vexpress' and 'ux500' do not get supported, as there is no
dt support for them yet in kernel tree (no .dts for the boards).
* Though dt support for 'smdkv310' has been available in kernel tree,
I did not add the dtb support in lmc for it, because bug 727978
makes the board so unique in terms of installing and loading boot
files. And I'm seeing some recent activity of addressing the bug,
so I would hold this board for a while.
* Boards 'tegra-harmony', 'versatile-ab' and 'versatile-pb' have
already got dt support in kernel tree, but lmc does not support
them at all.
* This branch can not be merged into trunk for working with daily
build hwpack before John Rigby gets .dtb files be there.
[1] lp:~shawnguo/linaro-image-tools/add-dtb
--
Regards,
Shawn
== John Stultz <jstultz_*> ==
=== Highlights ===
* Got Linaro Android kernel working with HDMI on PandaBoard!
* Added capability limits to Posix Alarm Timer patches
* Lots of tweaking and practicing of my ELC presentation.
* Worked with Alexander to add some Linaro Android Platform items to
the presentation
* Thomas pulled in a bunch of timekeeping cleanups for 2.6.40
* Nagged tglx to pull RTC fixes for 2.6.39
* Ran into a weird OMAP4 display issue that was later not reproducible.
* jcrigby hit it later and figured it out.
* Assisted with internal IBM bugs.
=== Plans ===
* Attending & Presenting at ELC next week, will be online occasionally
* Planning on meeting with some of the Android devs at ELC to talk
about upstreaming.
* Work on timerfd support for alarm timers.
=== Issues ===
* OMAP3 USB issue is still holding back Linaro Android kernel.
* https://bugs.edge.launchpad.net/linux-linaro/+bug/747639
* Spent some time trying to figure this out myself, but no luck.
* Ping'ed Keshava at TI, but he's out next week, so little progress
expected.
== Paul E. McKenney <paulmck> ==
=== Highlights ==
* Working RCU priority boosting bug: continue debugging
* Coded and tested more diagnostics to track down this bug
* Found and fixed another bug, more bugs remain
* More Power preemption bugs exposed, improved diagnostics and chasing these (no 16-PCU ARM systems available)
* Worked another stuck TSC license request, now caught up
* Worked ARM subarchitecture maintainership issue
== Miscellaneous ==
* RCU_PREEMPT inlining patches from Lai Jiangshan met resistance, helping to work out a solution (good resistance, solution will have pure C code instead of automatically generated numerical offsets)
FYI -- new ARM reference manual! This may be downloaded from:
https://wiki.linaro.org/Internal/OfficeofCTO
Please pass any feedback to David Rusling.
Thanx, Paul
----- Forwarded message from David Rusling <david.rusling(a)linaro.org> -----
Date: Tue, 5 Apr 2011 14:02:39 +0100
From: David Rusling <david.rusling(a)linaro.org>
To: octo(a)linaro.org, Linaro Tech Leads <techleads(a)linaro.org>,
"Paul E. McKenney" <paulmck(a)linux.vnet.ibm.com>,
Arnd Bergmann <arnd(a)arndb.de>,
Nicolas Pitre <nicolas.pitre(a)linaro.org>
Subject: Cortex ARMv7 Programmer's Guide / Memory Management / Kernel patch
coordination
X-Mailer: Apple Mail (2.1084)
All,
several topics in one, please see https://wiki.linaro.org/Internal/OfficeofCTO:
[1] Programmer's guide - available to everyone in Linaro, not to be redistributed outside. This is a beta and will be released once comments have been collected. Please pass it on to your team members.
[2] Memory management - I've outlined the problem and the solution, please give feedback. Jesse owns the execution.
[3] Kernel patch coordination - I've outlined the problem and the solution, please give feedback. Based on comments, discussions etc. Please feed any comments to Paul McAteer <Paul.McAteer(a)arm.com>
[2] and [3] are not completely disconnected
Dave
David Rusling, CTO
http://www.linaro.org
Linaro
Lockton House
Clarendon Rd
Cambridge
CB2 8FH
----- End forwarded message -----
== Dave Martin <dmart> ==
=== Activity ===
==== hardware-n-kernel-standard-architecture ====
* VFP coredumps patch moving forwards after some fixes.
gdb/bfd support now implemented by Ulrich Weigand and
confirmed to work.
* Spent a bit of time investigating Thumb-2 for imx51 kernels,
resulting in some upstream patch discussions.
==== miscellaneous ====
* Minor ongiong activity helping support linaro validation
farm activities (network, u8500 bringup)
=== Plans ===
* Ping upstream re outstanding patches.
* Assess ftrace status.
* Write up the output from the Freescale i.MX BSP review
discussion, and post for comment.
=== Absences ===
* Apr 21 2011 - May 2 2011 (unconfirmed)
Nicolas, here are a couple more changes needed for the 11.05 release.
The most important one is Shawn's patch to add a 'dtbs' rule for
building all the configured dtb files which is needed for packaging.
The second adds device tree support for the IGEP which has been build
tested, but that's it since I don't have hardware and I've not
cornered anyone to test it yet. I've got it at the top of tree so you
can just commit HEAD~1 if you're not comfortable merging that one yet.
Can I get a volunteer with an IGEP to test this tree and make sure it
boots with the devicetree?
Thanks,
g.
The following changes since commit 7c4bc9c2662c6d9840afed0e29eb01314af9bb78:
ARM: Only allow PM_SLEEP with CPUs which support suspend (2011-04-04
00:25:21 -0400)
are available in the git repository at:
git://git.secretlab.ca/git/linux-2.6 devicetree/arm-linaro-2.6.38
Grant Likely (1):
arm/dt: Add basic devicetree support to IGEPv2 and v3
Shawn Guo (1):
arm/dt: Add a make rule to build dtb for enabled boards
arch/arm/Makefile | 2 +-
arch/arm/boot/Makefile | 2 ++
arch/arm/boot/dts/isee-igep-v2.dts | 7 +++++++
arch/arm/boot/dts/isee-igep-v3.dts | 7 +++++++
arch/arm/mach-exynos4/Makefile.boot | 2 ++
arch/arm/mach-mx5/Makefile.boot | 5 +++++
arch/arm/mach-omap2/Makefile.boot | 6 ++++++
arch/arm/mach-omap2/board-igep0020.c | 6 ++++++
arch/arm/mach-omap2/board-igep0030.c | 6 ++++++
arch/arm/mach-tegra/Makefile.boot | 2 ++
arch/arm/mach-versatile/Makefile.boot | 2 ++
11 files changed, 46 insertions(+), 1 deletions(-)
create mode 100644 arch/arm/boot/dts/isee-igep-v2.dts
create mode 100644 arch/arm/boot/dts/isee-igep-v3.dts
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
Hey Paul,
As promised, here is my list of topics, tasks and priorities for the
11.11 cycle. It's a bit of a rough list, but I'll refine it as we get
closer to UDS
Boot Architecture
- Refine UEFI position paper (draft of position paper will be prepared
before UDS)
- Refine boot architecture technical recommendations paper (draft will
be prepared before UDS)
- must include reference implementation (based on existing u-boot;
not talking about writing something new here)
- Upgrade procedure for OS
- Upgrade procedure for Firmware
- Security concerns?
- Must guarantee reliability (no bricked boards).
- Discuss kexec bootloader, possibly implement for 11.11 cycle
- Implement appending of device tree and initrd to zImage
- To support minimal bootloader and kexec bootloaders.
- Simplify the process of installing a boot image.
- Implement device tree bindings to describing boot method
- So that Linux knows how to upgrade the kernel and possibly the bootloader.
- SDcard? NAND? NOR? Which partition? etc.
I've got a lot of topics on boot architecture. Most of the needed
technology is in place, but I think it is needed to document best
practices and methods that should be used when designing a system.
What technologies, why, how to put them together, and how to
maintain/support them. It's important to get the guidelines out onto
paper instead of as 'tribal knowledge'
Device Tree
- device tree board description and implementations for:
- The omap3 boards are the priority since there are numerous
expansion boards that can be described (Zippy, trainer, etc) which is
an excellent use-case.
- mx51 & mx53 eval and efika boards
- samsung eval boards
- OMAP3 BeagleBoard, Overo and IGEP boards.
- device tree SoC descriptions for SoCs
- A lot of work has already been done for Samsung and Freescale
SoCs. It would be very interesting to converting an entire SoC over
to use device tree with dtb linked into the kernel for bootloaders
that cannot pass a dtb blob. That would eliminate the problem of
duplicate setup paths
- Would also need task to support linking multiple .dtbs into the kernel
- Complete clock bindings - mostly depends on common clock framework
- Complete virq implementation - **critical task**
Linux ARM Maintainership/Vision
- Full multiplatform - Support multiple SoC families with a single kernel
- to avoid either/or decisions when adding new features to the kernel
- have guidelines for how new interfaces should be defined.
Example: right now struct clk has a different implementation for every
SoC, and only one can be compiled in at a time. New interfaces should
be runtime pluggable wherever possible
- to increase code coverage for allyesconfig/allmodconfig.
- Document best practices for Linux driver model
- Where does data come from (probed, device tree, platform_data)
- How to generalize as much device registration as possible
- How to get away from big lists of devices in board-*.c files.
- How to reduce code duplication.
Basically, I'd like to encourage embedded Linux engineers to think
about the wider scope for the code that they write. To ask themselves
if the work they are doing could be useful to the wider ARM Linux
infrastructure. I'm not sure how to translate the above items into
blueprints, but I think the tasks resolve to writing a lot of
documentation and articles, and probably reviewing a lot of code.
You can probably take the first level bullet points in each category
as names for blueprints. My priorities are to make sure at least one
platform has a 100% complete device tree implementation by the 11.11
release, and that there is a good set of documentation to go with it
covering both boot architecture and device tree. I'd actually like to
see 2 or 3 platforms with a complete implementation, but I'd rather
see 1 platform will a full solution than 3 half baked ones. Close
second is the boot architecture documentation and any associated
sample implementation.
Loïc, David, I'm sure I've missed some of the topics we've talked
about. Is there anything else you can think of that should be added
to this list?
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
== Paul E. McKenney <paulmck> ==
=== Highlights ==
* Working RCU priority boosting bug: reproduced slowdown (not hang)
* Coded and tested diagnostics to track down this bug
* Found and fixed one bug, more bugs remain
* Worked more stuck TSC license requests
== Miscellaneous ==
* Pulled in kfree_rcu() patches from Lai Jiangshan: Nice API addition and code-size reduction
*
== Per Forlin <perfor> ==
=== Highlights ===
* mmc none blocking implementation is more stable, but there are
still some issues when running stress tests for many hours.
* In contact with developer at Samsung that is interested in testing
my code on the Samsung SoC.
* Started to think about storage work for next cycle
=== Plans ===
* Make all stress tests to pass for mmc code and send out patches on 2.6.39-rc
* Assist in writing storage spec
* Continue supporting testing of my mmc code on other boards.