Re: 回复:回复:[Zephyr-devel] is there any gudeline on how to run SMP mode kernel on X86 architecture?
Carles Cufi
Hi there,
You are right, I made a mistake. Here’s the updated instructions that work for me:
$ cd ~/zephyrproject/zephyr $ source zephyr-env.sh $ west build -b qemu_x86_64 samples/hello_world/ $ cd build/ $ ninja debugserver
and then in another terminal
$ /opt/zephyr-sdk/x86_64-zephyr-elf/bin/x86_64-zephyr-elf-gdb build/zephyr/zephyr.elf (gdb) target remote localhost:1234 (gdb) dir ~/zephyrproject/zephyr/ (gdb) continue
So it’s a matter of using Zephyr’s SDK gdb and passing it as a parameter the path to build/zephyr/zephyr.elf
Carles
From:
曹子龙 <caozilong@...>
Sent: 25 January 2020 03:15 To: Cufi, Carles <Carles.Cufi@...>; Boie, Andrew P <andrew.p.boie@...>; devel <devel@...> Subject: 回复:回复:[Zephyr-devel] is there any gudeline on how to run SMP mode kernel on X86 architecture?
Thank you! But it seems cant load the symbol, so how to compile the debug elf files? BTW: there are two elf files exist in build dir, zephyr.elf and zepyhr-qemu.elf, what is the difference? Thread 1 received signal SIGINT, Interrupt. 0x0000000000100dfb in ?? () (gdb) bt #0 0x0000000000100dfb in ?? () #1 0x0000000000102e7e in ?? () #2 0x0000000000102e5a in ?? () #3 0x00000000001004d2 in ?? () #4 0x0000000000000000 in ?? ()
曹子龙 珠海全志科技股份有限公司 BU1-PSW 地址:广东省珠海市高新区唐家湾镇科技2路9号 TEL:13824125580 Email:caozilong@... 网址: http://www.allwinnertech.com
|
|
Re: why no matches found in "west build -t menuconfig" during find "CONFIG_THREAD_NAME" flag?
Ulf Magnusson
Hello, Skip the 'CONFIG_' prefix when searching for symbols in menuconfig. 'CONFIG_' is just added on output. Can also search for e.g. "thread name" btw. The search function isn't case-sensitive, and putting in many space-separated strings will list symbols/choices/menus that match all of them. Cheers, Ulf
On Sun, Jan 26, 2020 at 3:39 AM "曹子龙 <caozilong@...> wrote:
|
|
why no matches found in "west build -t menuconfig" during find "CONFIG_THREAD_NAME" flag?
"曹子龙
See blow picture, i try to enable the flag "CONFIG_THREAD_NAME" because it was disabled by default, but still cant see the configuration items in menuconfig, can anyone tell me why? 曹子龙 珠海全志科技股份有限公司 BU1-PSW 地址:广东省珠海市高新区唐家湾镇科技2路9号 TEL:13824125580 Email:caozilong@... 网址: http://www.allwinnertech.com
|
|
回复:回复:[Zephyr-devel] is there any gudeline on how to run SMP mode kernel on X86 architecture?
"曹子龙
Thank you! But it seems cant load the symbol, so how to compile the debug elf files? BTW: there are two elf files exist in build dir, zephyr.elf and zepyhr-qemu.elf, what is the difference? Thread 1 received signal SIGINT, Interrupt. 0x0000000000100dfb in ?? () (gdb) bt #0 0x0000000000100dfb in ?? () #1 0x0000000000102e7e in ?? () #2 0x0000000000102e5a in ?? () #3 0x00000000001004d2 in ?? () #4 0x0000000000000000 in ?? ()曹子龙 珠海全志科技股份有限公司 BU1-PSW 地址:广东省珠海市高新区唐家湾镇科技2路9号 TEL:13824125580 Email:caozilong@... 网址: http://www.allwinnertech.com
|
|
GPIO porting status, 24th January
Carles Cufi
[resending this email with the mailing list included to increase distribution]
Hi all, This is the current status of GPIO user porting as of today (24th January): Remaining users without a PR: drivers/ieee802154/ieee802154_cc1200: Tomasz drivers/ieee802154/ieee802154_cc2520: Tomasz drivers/ieee802154/ieee802154_mcr20a: Johann drivers/ieee802154/ieee802154_rf2xx*.c: Piotr Remaining users with PR but requiring reviews: drivers/audio/tlv320dac310x: https://github.com/zephyrproject-rtos/zephyr/pull/22172 drivers/display/mb_display.c: https://github.com/zephyrproject-rtos/zephyr/pull/22157 drivers/modem: https://github.com/zephyrproject-rtos/zephyr/pull/22168 samples/bluetooth/hci_spi: https://github.com/zephyrproject-rtos/zephyr/pull/22134 samples/boards/nrf52/mesh/*: https://github.com/zephyrproject-rtos/zephyr/pull/22129 samples/boards/reel_board/mesh_badge: https://github.com/zephyrproject-rtos/zephyr/pull/22137 drivers/wifi/winc1500: https://github.com/zephyrproject-rtos/zephyr/pull/22156 samples/sensor/fxos8700-hid: https://github.com/zephyrproject-rtos/zephyr/pull/22139 tests/bluetooth/mesh: https://github.com/zephyrproject-rtos/zephyr/pull/22162 Remaining users with PR but requiring rework of the PR: drivers/display/ssd16xx: https://github.com/zephyrproject-rtos/zephyr/pull/21686: Johann samples/drivers/espi: https://github.com/zephyrproject-rtos/zephyr/pull/22154: Alberto drivers/sensor/bma280: https://github.com/zephyrproject-rtos/zephyr/pull/22104: Peter (requires rebase) drivers/sensor/mpu6050: https://github.com/zephyrproject-rtos/zephyr/pull/21566: Peter All reviews and rework of existing PRs are very welcome. See the full overview here: https://github.com/zephyrproject-rtos/zephyr/issues/20017 Regards, Carles
|
|
Re: 回复:[Zephyr-devel] is there any gudeline on how to run SMP mode kernel on X86 architecture?
Carles Cufi
$ cd ~/zephyrproject/zephyr $ source zephyr-env.sh $ west build -b qemu_x86_64 samples/hello_world/ $ cd build/ $ ninja debugserver
and then in another terminal
$ gdb (gdb) target remote localhost:1234 (gdb) dir ~/zephyrproject/zephyr/ (gdb) continue
See https://docs.zephyrproject.org/latest/application/index.html#id1
From: devel@... <devel@...>
On Behalf Of "??? via Lists.Zephyrproject.Org
Sent: 24 January 2020 07:36 To: Boie, Andrew P <andrew.p.boie@...>; devel <devel@...> Cc: devel@... Subject: 回复:[Zephyr-devel] is there any gudeline on how to run SMP mode kernel on X86 architecture?
Thanks
Can it be debuged by GDB? how to with west?
曹子龙 珠海全志科技股份有限公司 BU1-PSW 地址:广东省珠海市高新区唐家湾镇科技2路9号 TEL:13824125580 Email:caozilong@... 网址: http://www.allwinnertech.com
|
|
Zephyr 2.2 release schedule
Hi,
I’d like to remind everyone of the current release schedule for the next Zephyr release, i.e. version 2.2: - The feature merge window is open for roughly two more weeks, closing on February 7th. Any new features or enhancements that are desired for the release need to be merged to master by this time. - If you have any unsent feature pull requests please don’t hesitate to send them, since the review process can often take a substantial amount of time. - The final release of Zephyr 2.2 is targeted for February 28th. More information on the various milestones and planned release schedules can be found here: https://github.com/zephyrproject-rtos/zephyr/wiki/Program-Management The release plan of major features for each release is managed here: https://github.com/zephyrproject-rtos/zephyr/projects/9 Thanks! Johan
|
|
回复:[Zephyr-devel] is there any gudeline on how to run SMP mode kernel on X86 architecture?
"曹子龙
Thanks Can it be debuged by GDB? how to with west? 曹子龙 珠海全志科技股份有限公司 BU1-PSW 地址:广东省珠海市高新区唐家湾镇科技2路9号 TEL:13824125580 Email:caozilong@... 网址: http://www.allwinnertech.com
|
|
In version 1.14.1, there appears to be a race condition when updating an indication value. It results in a BUS FAULT, which occurs because a pointer becomes null.
Here are the Zephyr ATT print messages for what it looks like when it breaks: Updating indication value to: 0x02 -- This is an assertion from our code for clarity
[00:00:15.622,406] <dbg> bt_att.bt_att_req_send: conn 0x2000076c req 0x200025d4
[00:00:15.622,406] <dbg> bt_att.att_send_req: req 0x200025d4
[00:00:15.666,259] <dbg> bt_att.att_rsp_sent: conn 0x2000076c att 0x200008a0
[00:00:15.666,351] <dbg> bt_att.bt_att_recv: Received ATT code 0x12 len 13
[00:00:15.666,351] <dbg> bt_att.att_write_req: handle 0x0017
[00:00:15.666,381] <dbg> bt_att.write_cb: handle 0x0017 offset 0 These are the Zephyr messages when it is successful: Updating indication value to: 0x02
[00:00:20.676,361] <dbg> bt_att.bt_att_req_send: conn 0x2000076c req 0x200025d4
[00:00:20.676,361] <dbg> bt_att.att_send_req: req 0x200025d4
[00:00:20.720,703] <dbg> bt_att.att_rsp_sent: conn 0x2000076c att 0x200008a0
[00:00:20.765,014] <dbg> bt_att.att_req_sent: conn 0x2000076c att 0x200008a0 att->req 0x200025d4
[00:00:20.765,655] <dbg> bt_att.bt_att_recv: Received ATT code 0x1e len 0
[00:00:20.765,686] <dbg> bt_att.att_confirm:
[00:00:20.765,686] <dbg> bt_att.att_handle_rsp: err 0 len 0:
It would appear that att_req_sent doesn't get called when the BUS FAULT occurs. This appears consistent when I have repeated this. The ATT code shows that a Write_Request is occurring which looks like it is interrupting the indication update before it finishes. I took some BLE sniffer logs and in both the case of failure and success, the logs look identical, so externally the indication has been sent, but something internally hasn't resolved. I've tried enabling kernel messages to see if there is a task switch here (including ISR), but I end up with lots of missed messages, so they aren't useful. Any ideas as to how to fix this or other messages I can enable that will help continue to debug this? UPDATE: Some more info, I enabled the __ASSERT() and this is what I see: ASSERTION FAIL [req->func] @ ../ZEPHYR/subsys/bluetooth/host/att.c:267
|
|
SDK 0.11.0 Release
Kumar Gala
Hi,
Latest version of the SDK can be found here: https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.11.0 Please download and try things out and report any issues. General: • Replaced riscv32 tools with multilib for riscv64 toolchain • Dropped package of MIPS toolchain at this point • Removed x86 IAMCU toolchain • Improved install process / packaging of tools • can get individual arch toolchains • don't need to install as root • prompt for setting up env for you • Replaced multiple x86 toolchains with single x86_64 toolchain for 32 & 64-bit • Improve support for building on Ubuntu 18.04 host • ARM aarch64 support • Added SPARC support [experimental] OpenOCD: • Bump baseline to 20200116 • Removed support for Quark • Various ARC fixes/updates QEMU: • Bump to version 4.2.0 • Pull in Xilinx Cortex-R support • Pull in LEON2 SPARC support GCC: • Bumped to GCC 9.2.0 Host Tools: • Removed sound-open-firmware-tools as it wasnt used NEWLIB: • Added nano-variant builds • Enabled long-long support in full newlib build • Support newlib retargetable locking configuration Thanks to all that contributed fixes and enhancements to this version of the SDK. - k
|
|
Re: Use of k_work_submit_to_user_queue() with CONFIG_USERSPACE
Boie, Andrew P
This is a bug. I’ll spend some time on this today and get a GH issue opened.
Andrew
From: devel@... <devel@...>
On Behalf Of phil.erwin@...
Sent: Thursday, January 23, 2020 9:14 AM To: devel@... Subject: [Zephyr-devel] Use of k_work_submit_to_user_queue() with CONFIG_USERSPACE
I have a work Q that will run in user state and attempting to send work to it. This results in intermittent failures. The issue I see
|
|
Re: is there any gudeline on how to run SMP mode kernel on X86 architecture?
Boie, Andrew P
The qemu_x86_64 target is configured to use two cores and SMP by default.
Regards, Andrew
From: devel@... <devel@...>
On Behalf Of "???
Sent: Thursday, January 23, 2020 3:36 AM To: devel <devel@...> Subject: [Zephyr-devel] is there any gudeline on how to run SMP mode kernel on X86 architecture?
Now SMP only supported on xtensa, arc and x86 arch, but it seems more diffculte to run on xtensa and arc becasue of no boards. so anybody can tell me how to launch a smp run environment on x86 arch? thank you!
曹子龙 珠海全志科技股份有限公司 BU1-PSW 地址:广东省珠海市高新区唐家湾镇科技2路9号 TEL:13824125580 Email:caozilong@... 网址: http://www.allwinnertech.com
|
|
Use of k_work_submit_to_user_queue() with CONFIG_USERSPACE
Phil Erwin Jr
I have a work Q that will run in user state and attempting to send work to it. This results in intermittent failures. The issue I see
in my current test is that I have taken an interrupt while _current is the idle task. The idle task has no resource pool, so the 'temporary memory allocation' fails. No work request is saved. It seems wrong to me that this API is making an allocation based upon the current thread, and is usable from interrupt handlers. Every thread in the system would need a resource pool to allocate from. Am I missing something here? Phil /** * @brief Submit a work item to a user mode workqueue * * Submits a work item to a workqueue that runs in user mode. A temporary * memory allocation is made from the caller's resource pool which is freed * once the worker thread consumes the k_work item. The workqueue * thread must have memory access to the k_work item being submitted. The caller * must have permission granted on the work_q parameter's queue object. * * Otherwise this works the same as k_work_submit_to_queue(). * * @note Can be called by ISRs. * * @param work_q Address of workqueue. * @param work Address of work item. * * @retval -EBUSY if the work item was already in some workqueue * @retval -ENOMEM if no memory for thread resource pool allocation * @retval 0 Success * @req K-WORK-001 */ static inline int k_work_submit_to_user_queue(struct k_work_q *work_q, struct k_work *work) { int ret = -EBUSY; H
|
|
is there any gudeline on how to run SMP mode kernel on X86 architecture?
"曹子龙
Now SMP only supported on xtensa, arc and x86 arch, but it seems more diffculte to run on xtensa and arc becasue of no boards. so anybody can tell me how to launch a smp run environment on x86 arch? thank you! 曹子龙 珠海全志科技股份有限公司 BU1-PSW 地址:广东省珠海市高新区唐家湾镇科技2路9号 TEL:13824125580 Email:caozilong@... 网址: http://www.allwinnertech.com
|
|
Re: 回复:回复:[Zephyr-devel] Is this a bug? how to guarantee the "atomic semantics access of readyqueue" in "do_swap" function during context switch in SMP mode?
Boie, Andrew P
Hi there,
Race conditions for SMP are still under investigation. We found one today where the same thread object was being scheduled on two cores. Additional eyes on this (or patches) are greatly valued, please feel free to join the discussion in https://github.com/zephyrproject-rtos/zephyr/issues/21317 where are are tracking these SMP issues.
Regards, Andrew
From: devel@... <devel@...>
On Behalf Of "???
Sent: Wednesday, January 22, 2020 9:54 PM To: Williams, Jennifer M <jennifer.m.williams@...>; Ross, Andrew J <andrew.j.ross@...>; devel <devel@...> Subject: 回复:回复:[Zephyr-devel] Is this a bug? how to guarantee the "atomic semantics access of readyqueue" in "do_swap" function during context switch in SMP mode?
HI folks:
i still belive there are race conditions exist.
in "do_swap" function, what would happen if others cpus pick up the "old" thread to run before it do the actual context backup? because if "is_spinlock" set to 1, there are no others condition to prevent others cpus access the readyqueue, how to deal with this?
曹子龙 珠海全志科技股份有限公司 BU1-PSW 地址:广东省珠海市高新区唐家湾镇科技2路9号 TEL:13824125580 Email:caozilong@... 网址: http://www.allwinnertech.com
|
|
回复:回复:[Zephyr-devel] Is this a bug? how to guarantee the "atomic semantics access of readyqueue" in "do_swap" function during context switch in SMP mode?
"曹子龙
hi : would the "wait_for_switch(new_thread)" would aggravate the race condition not fix the race condition? the old thread save state still cant guarantee to be saved before it pick up by other cpus to run ???? 曹子龙 珠海全志科技股份有限公司 BU1-PSW 地址:广东省珠海市高新区唐家湾镇科技2路9号 TEL:13824125580 Email:caozilong@... 网址: http://www.allwinnertech.com
|
|
回复:回复:[Zephyr-devel] Is this a bug? how to guarantee the "atomic semantics access of readyqueue" in "do_swap" function during context switch in SMP mode?
"曹子龙
HI folks: i still belive there are race conditions exist. in "do_swap" function, what would happen if others cpus pick up the "old" thread to run before it do the actual context backup? because if "is_spinlock" set to 1, there are no others condition to prevent others cpus access the readyqueue, how to deal with this? 曹子龙 珠海全志科技股份有限公司 BU1-PSW 地址:广东省珠海市高新区唐家湾镇科技2路9号 TEL:13824125580 Email:caozilong@... 网址: http://www.allwinnertech.com
|
|
Cancelled Event: Zephyr Project: Dev Meeting - Thursday, 23 January 2020
#cal-cancelled
devel@lists.zephyrproject.org Calendar <devel@...>
Cancelled: Zephyr Project: Dev Meeting This event has been cancelled. When: Where: Organizer: devel@... Description:
|
|
Re: 回复:[Zephyr-devel] Is this a bug? how to guarantee the "atomic semantics access of readyqueue" in "do_swap" function during context switch in SMP mode?
Jennifer M Williams
Hi The PR mentioned below (https://github.com/zephyrproject-rtos/zephyr/pull/21903) was merged yesterday – please review the comments and code changes for more details on the fix. Can you please describe a bit more how your potential issue is not addressed by this PR?
Thank you, Jen
From: devel@... <devel@...>
On Behalf Of "???
Sent: Tuesday, January 21, 2020 10:31 PM To: Ross, Andrew J <andrew.j.ross@...>; devel <devel@...> Subject: 回复:[Zephyr-devel] Is this a bug? how to guarantee the "atomic semantics access of readyqueue" in "do_swap" function during context switch in SMP mode?
Hi andy:
so, this is turely a issue that i have illustrated in last emai? is that true? so the mainline code still has this issue, right?
thank you.
曹子龙 珠海全志科技股份有限公司 BU1-PSW 地址:广东省珠海市高新区唐家湾镇科技2路9号 TEL:13824125580 Email:caozilong@... 网址: http://www.allwinnertech.com
|
|
Re: 回复:[Zephyr-devel] Is this a bug? how to guarantee the "atomic semantics access of readyqueue" in "do_swap" function during context switch in SMP mode?
Andy Ross
Actually, that PR merged a few hours ago, so code in master does not have this issue anymore. But yes: it was real and visible in CI testing as a spurious failure in qemu_x86_64. Andy
On 1/21/2020 10:31 PM, "曹子龙 wrote:
|
|