Date   

introducing new delayable work API

Peter A. Bigot
 

I've been asked to request input on "kernel: workq: introduce delayable work" (#28891), which introduces a new API for supporting delayable work queue submission that cleans up some of the difficulty with correctly using the existing delayed work API.

"cleanup of work queue APIs and behavior" (#28579) (already merged) documented the problems with the existing API and states an intent that it be deprecated.  The problems with that API are not in dispute, only whether existing use in-tree meets the fairly strict requirements necessary for it to behave in a predictable matter.  For the cases I looked at it's not clear that they do.

The existing version of #28891 includes some deprecation commits intended as examples and verification.  These are intended as demonstration, and if there are concerns they don't meet the specific needs of those uses will be extracted and submitted as new PRs when the core functionality is integrated.

Please provide feedback on issue 28891 on github.

Peter


Zephyr Project: Dev Meeting - Thu, 10/15/2020 3:00pm-4:00pm, Please RSVP #cal-reminder

devel@lists.zephyrproject.org Calendar <devel@...>
 

Reminder: Zephyr Project: Dev Meeting

When: Thursday, 15 October 2020, 3:00pm to 4:00pm, (GMT+00:00) UTC

Where:Microsoft Teams Meeting

An RSVP is requested. Click here to RSVP

Organizer: devel@...

Description:

________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 483 314 739#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
 
 
________________________________________________________________________________


Dev-Review Meeting Agenda Oct 15

Kumar Gala
 

As we have no PRs currently tagged w/dev-review we don’t have a specific agenda this week.

Will see if there are any last minute PRs and if anyone has anything to discuss.

Depending on who joins we might continue discussion on pinmux.

- k


Re: powerpc port of Zephyr

Michael Neuling
 

On Tue, 2020-10-13 at 13:46 +0200, Henrik Brix Andersen wrote:
Hi Michael,

This looks very nice indeed. Any plans for trying to upstream the PowerPC
support?
Yes, we were planning on it but it's dropped off my radar since this initial
post.

The feedback I got from some developers (offline) was we need to get the powerpc
cross compilers working in zephyr-sdk-ng as a pre-requisite for this port to be
considered upstream. I did start work on that but never pushed it publicly.

Regards,
Mikey


Zephyr Project: APIs - Tue, 10/13/2020 4:00pm-5:00pm, Please RSVP #cal-reminder

devel@lists.zephyrproject.org Calendar <devel@...>
 

Reminder: Zephyr Project: APIs

When: Tuesday, 13 October 2020, 4:00pm to 5:00pm, (GMT+00:00) UTC

Where:Microsoft Teams Meeting

An RSVP is requested. Click here to RSVP

Organizer: devel@...

Description:

Meeting decisions/discussions in their respective PRs, tracked here: https://github.com/zephyrproject-rtos/zephyr/projects/18


________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 317 990 129#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
 
 
________________________________________________________________________________


Re: powerpc port of Zephyr

Henrik Brix Andersen
 

Hi Michael,

This looks very nice indeed. Any plans for trying to upstream the PowerPC support?

Regards,
Brix
--
Henrik Brix Andersen

On 24 Oct 2019, at 08.54, Michael Neuling <mikey@...> wrote:

Hi all,

Below is a basic port of Zephyr to powerpc:

https://github.com/mikey/zephyr/commits/powerpc

It runs on both qemu and and microwatt [1]. It runs the basic tests and samples
in the repository and supports both cooperative and pre-emptive multitasking.

The patch still contains a few FIXMEs but reviews are welcome. When we are
comfortable with the patch, we'd like to create a PR so it can be considered for
inclusion in the upstream project.

The port was done by Anton Blanchard and myself.

Regards,
Mikey

1. https://github.com/antonblanchard/microwatt



API meeting: agenda

Carles Cufi
 


RFC: API change: clock_control: Change parameters of clock_control_async_on

Chruściński, Krzysztof
 

Hi,

 

I would like to propose a clock control API change. Please see https://github.com/zephyrproject-rtos/zephyr/issues/27423 for details.

 

Regards,

Krzysztof

 


windows-curses 2.2.0a1: call for testing and maintainers

Bolivar, Marti
 

Hi,

I've uploaded a 2.2.0a1 release of the windows-curses package to PyPI.

This is a dependency on Windows for the 'menuconfig' build system
target. (POSIX platforms have curses and thus 'menuconfig' support
without this package.)

Python versions 3.6 through 3.9 are supported. Previous windows-curses
releases only supported up to 3.8, since 3.9 was just released.

Call for testing
================

Please test by installing like this (again, Windows only):

pip3 install windows-curses==2.2.0a1

Then running 'west build -t menuconfig' on your favorite Zephyr
application and configuring away.

Please report any issues that don't also reproduce on windows-curses
version 2.1.0.

I've given this some basic testing on all the supported Python versions
listed above (both 32- and 64-bit versions), but I don't use Windows
every day and I may have missed something.

Call for maintainers
====================

After we conclude the 2.2.0 windows-curses release, the package will
become unmaintained.

In practice, this means that 'menuconfig' will be unavailable on Windows
starting with Python 3.10, which is expected to come out in late 2021.

After this time, only the 'guiconfig' target will be officially
supported by upstream Zephyr for viewing and editing application Kconfig
trees on Windows. (Don't worry: the 'menuconfig' target will continue to
be available on POSIX operating systems.)

If you would like to take over maintainership of this package, please
let the Zephyr TSC know:

https://github.com/zephyrproject-rtos/windows-curses

Thanks!
Martí


Re: [RFC] SMP support for RISC-V privilege architecture

Katsuhiro Suzuki
 

Hello Andrew, Kumar,

Thank you for pointing about regression tests.


On 2020/10/07 9:34, Boie, Andrew P wrote:
(*)QEMU RV32 virt pc:
https://github.com/zephyrproject-rtos/zephyr/pull/28749
That PR looks fine. But you definitely will have some work to do to get SMP working on Risc-V, starting with changing the arch to select CONFIG_SWITCH, and then implement arch_start_cpu(), arch_curr_cpu(), etc.
Yes, right.
For sanitycheck, I added another patch to change configs of qemu_rv32_virt
board. It selected CONFIG_USE_SWITCH and related context switch configs.
And set "y" to CONFIG_SMP in board_defconfig.

These SMP patch and additional configs patch are here:
https://github.com/katsuster/zephyr/tree/riscv_virt_pc_smp_v2

And I created these patches can be added on PR's patch (not conflict):
https://github.com/zephyrproject-rtos/zephyr/pull/28749


But I don't understand Zephyr's SMP mechanism perfectly and don't know
required conditions (Ex. regression tests) if I want to change these area.
There are an assortment of tests with 'smp' in their tags, defined by testcase.yaml.
So you can do:
sanitycheck -p <your target name> -t smp
To quickly run these.
I have tested "sanitycheck -p qemu_rv32_virt -t smp" and fixed some bugs.
Finally, my implementation passed all 3 SMP test sets.

I'll prepare pull request for these patches. Thank you very much!


HTH
Andrew
Best Regards,
Katsuhiro Suzuki


-----Original Message-----
From: devel@... <devel@...> On
Behalf Of Katsuhiro Suzuki
Sent: Tuesday, October 6, 2020 1:54 AM
To: zephyr-devel <zephyr-devel@...>
Subject: [Zephyr-devel] [RFC] SMP support for RISC-V privilege architecture

Hello All,

I'm working on SMP support for RISC-V privilege architecture.
https://github.com/katsuster/zephyr/tree/riscv_virt_pc_smp

It seems worked well on QEMU RV32 virt pc (*) porting.
(RV64 not tested yet)

But I don't understand Zephyr's SMP mechanism perfectly and don't know
required conditions (Ex. regression tests) if I want to change these area.

I'm welcome comments or review of my patch.



Command line:
qemu-system-riscv32 -nographic -machine virt -net none \
-chardev stdio,id=con,mux=on -serial chardev:con \
-mon chardev=con,mode=readline -kernel zephyr/zephyr.elf \
-cpu rv32 -smp cpus=4 -bios none

Best Regards,
Katsuhiro Suzuki



Zephyr Project: Dev Meeting - Thu, 10/08/2020 3:00pm-4:00pm, Please RSVP #cal-reminder

devel@lists.zephyrproject.org Calendar <devel@...>
 

Reminder: Zephyr Project: Dev Meeting

When: Thursday, 8 October 2020, 3:00pm to 4:00pm, (GMT+00:00) UTC

Where:Microsoft Teams Meeting

An RSVP is requested. Click here to RSVP

Organizer: devel@...

Description:

________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 483 314 739#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
 
 
________________________________________________________________________________


Zephyr Toolchain Working Group - New Meeting Time proposed

Rasmussen, Torsten
 

Hi,

 

We would like to include Zephyr toolchain into the Toolchain WG Meetings.

Unfortunately that is not possible at current timeslot.

It has therefore be suggested to move the meeting time to Mondays.

 

A doodle poll has been created to allow participant to give feedback on the new proposed timeslot.

https://doodle.com/poll/fiv8xtiikzktsv2m

 

Best regards

 

Torsten T. Rasmussen

 


Dev-Review Meeting Agenda Oct 8

Kumar Gala
 

Here’s the agenda topics for this week:

I’ve asked Marti to run the meeting as I can’t.

* drivers: watchdog: Implement software watchdog suitable for multiple threads [RFC]:
- https://github.com/zephyrproject-rtos/zephyr/pull/28947

* fs: Auto-mount of file systems defined via fixed-partitions of DTS
- https://github.com/zephyrproject-rtos/zephyr/pull/28320

* dt: start exposing dependency ordinals
- https://github.com/zephyrproject-rtos/zephyr/pull/26062

* Any PR/issues w/dev-review tag

https://github.com/zephyrproject-rtos/zephyr/labels/dev-review

* Any topics anyone else has.

- k


Cancelled Event: Zephyr: Toolchain Working Group - Thursday, 8 October 2020 #cal-cancelled

devel@lists.zephyrproject.org Calendar <noreply@...>
 

Cancelled: Zephyr: Toolchain Working Group

This event has been cancelled.

When:
Thursday, 8 October 2020
2:00pm to 3:00pm
(UTC+00:00) UTC

Where:
Microsoft Teams Meeting

Organizer: Maureen Helm

Description:

________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 682 738 030#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
 
 
________________________________________________________________________________


Event: Zephyr: Networking Forum #cal-invite

devel@lists.zephyrproject.org Calendar <noreply@...>
 

Zephyr: Networking Forum

When:
Tuesday, 3 November 2020
3:00pm to 4:00pm
(UTC+00:00) UTC
Repeats: Monthly on the first Tuesday

Where:
Microsoft Teams Meeting

Organizer: tsc@...

An RSVP is requested. Click here to RSVP

Description:


________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 458 216 365#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
 
 
________________________________________________________________________________


How to parse and read JSON file correctly?

adnan
 

Hi guys,

I am using the nRF52832 board and I want to parse and read my JSON file. I don't have too much experience working with cJSON and here you will find my simple code where I try to understand how to define things properly. I will appreciate a lot if you can help me with some advice or better if you can suggest me where I made errors.

Best regards,

Adnan.


Re: [RFC] SMP support for RISC-V privilege architecture

Boie, Andrew P
 

(*)QEMU RV32 virt pc:
https://github.com/zephyrproject-rtos/zephyr/pull/28749
That PR looks fine. But you definitely will have some work to do to get SMP working on Risc-V, starting with changing the arch to select CONFIG_SWITCH, and then implement arch_start_cpu(), arch_curr_cpu(), etc.

But I don't understand Zephyr's SMP mechanism perfectly and don't know
required conditions (Ex. regression tests) if I want to change these area.
There are an assortment of tests with 'smp' in their tags, defined by testcase.yaml.

So you can do:

sanitycheck -p <your target name> -t smp

To quickly run these.

HTH
Andrew

-----Original Message-----
From: devel@... <devel@...> On
Behalf Of Katsuhiro Suzuki
Sent: Tuesday, October 6, 2020 1:54 AM
To: zephyr-devel <zephyr-devel@...>
Subject: [Zephyr-devel] [RFC] SMP support for RISC-V privilege architecture

Hello All,

I'm working on SMP support for RISC-V privilege architecture.
https://github.com/katsuster/zephyr/tree/riscv_virt_pc_smp

It seems worked well on QEMU RV32 virt pc (*) porting.
(RV64 not tested yet)

But I don't understand Zephyr's SMP mechanism perfectly and don't know
required conditions (Ex. regression tests) if I want to change these area.

I'm welcome comments or review of my patch.



Command line:
qemu-system-riscv32 -nographic -machine virt -net none \
-chardev stdio,id=con,mux=on -serial chardev:con \
-mon chardev=con,mode=readline -kernel zephyr/zephyr.elf \
-cpu rv32 -smp cpus=4 -bios none

Best Regards,
Katsuhiro Suzuki




Re: [RFC] SMP support for RISC-V privilege architecture

Katsuhiro Suzuki
 

Hello Kumar,

Sorry for multi posting. Zephyr ML has very long delay to deliver my mail...??

Anyway, thanks a lot for your comment.

On 2020/10/06 23:57, Kumar Gala wrote:

On Oct 6, 2020, at 4:04 AM, Katsuhiro Suzuki <katsuhiro@...> wrote:

Hello All,

I'm working on SMP support for RISC-V privilege architecture.
https://github.com/katsuster/zephyr/tree/riscv_virt_pc_smp

It seems worked well on QEMU RV32 virt pc (*) porting.
(RV64 not tested yet)

But I don't understand Zephyr's SMP mechanism perfectly and
don't know required conditions (Ex. regression tests) if I
want to change these area.

I'm welcome comments or review of my patch.

(*)QEMU RV32 virt pc:
https://github.com/zephyrproject-rtos/zephyr/pull/28749

Diffs of config from default:
CONFIG_RISCV_USE_SWITCH=y (added by me)
CONFIG_SMP=y
CONFIG_MP_NUM_CPUS=4

Command line:
qemu-system-riscv32 -nographic -machine virt -net none \
-chardev stdio,id=con,mux=on -serial chardev:con \
-mon chardev=con,mode=readline -kernel zephyr/zephyr.elf \
-cpu rv32 -smp cpus=4 -bios none

Best Regards,
Katsuhiro Suzuki
Would probably be good to add a second SMP config for qemu_riscv32 for SMP=y. You can look at the boards/x86/qemu_x86 to see examples of having different configs.
I'll add the config.

BTW, QEMU can choose SMP mode or non-SMP mode by command option.
qemu_x86 Zephyr users never want to use non-SMP mode?

I remember a help of CONFIG_USE_SWTCH said that:
"In uniprocess situations where the
architecture provides both, _arch_switch incurs more somewhat
overhead and may be slower.".

I think RISC-V may cover high-end from low-end, so I try to keep
old style context switch mechanism. On the other hand, it seems
x86_64 port don't implement old style.
Should we keep old one or it depends on each architectures?


As for testing, I’m guessing the main test to make sure runs and passes is tests/kernel/smp.
Andrew, can probably mention other tests or aspects to be aware of.
Thanks! I'll try it and report results.


- k
Best Regards,
Katsuhiro Suzuki


Zephyr Project: APIs - Tue, 10/06/2020 4:00pm-5:00pm, Please RSVP #cal-reminder

devel@lists.zephyrproject.org Calendar <devel@...>
 

Reminder: Zephyr Project: APIs

When: Tuesday, 6 October 2020, 4:00pm to 5:00pm, (GMT+00:00) UTC

Where:Microsoft Teams Meeting

An RSVP is requested. Click here to RSVP

Organizer: devel@...

Description:

Meeting decisions/discussions in their respective PRs, tracked here: https://github.com/zephyrproject-rtos/zephyr/projects/18


________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 317 990 129#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
 
 
________________________________________________________________________________


Re: API meeting: agenda

Carles Cufi
 

Hi all,

An additional item for today:

- Cleanup of work queue API doc
- PR: https://github.com/zephyrproject-rtos/zephyr/pull/28824

-----Original Message-----
From: Cufi, Carles
Sent: 06 October 2020 15:39
To: devel@...; users@...
Subject: API meeting: agenda

Hi all,

Agenda for today, sorry for the short notice.

- Pinmux and pinctrl API: Decide what the priorities for this are, and how
to get to LTS with it
- Issue: https://github.com/zephyrproject-rtos/zephyr/issues/22748

Since there are no other new items in the Triage column, I would propose
we go through the To Do and In Progress items and make sure they are still
applicable and they have a person assigned who is actively working on
them.

Teams link: https://teams.microsoft.com/l/meetup-
join/19%3ameeting_NWU2MjZlYWEtZDcwMi00MWQzLTgwMjEtNDdkYjQwMjBjMmFj%40threa
d.v2/0?context=%7b%22Tid%22%3a%22af0096d9-700c-411a-b795-
b3dd7122bad2%22%2c%22Oid%22%3a%22841a7c92-7816-4faf-9887-
5e334e88f6d8%22%7d

https://github.com/zephyrproject-rtos/zephyr/wiki/Zephyr-Committee-and-
Working-Group-Meetings#zephyr-api-discussion
https://github.com/zephyrproject-rtos/zephyr/projects/18
https://docs.google.com/document/d/1lv-
8B5QE2m4FjBcvfqAXFIgQfW5oz6306zJ7GIZIWCk/edit

Regards,

Carles