[riot-notifications] [RIOT-OS/RIOT] WIP: sys/net/gnrc/netif: make use of confirm_send (#15821)

Marian Buschsieweke notifications at github.com
Fri Jan 22 16:58:51 CET 2021


Because this PR also includes https://github.com/RIOT-OS/RIOT/pull/15783, I refer to "pre-PR" as to `master` + the first two commits in this PR, which are borrowed from https://github.com/RIOT-OS/RIOT/pull/15783

##### pre PR: `make RIOT_CI_BUILD=1 BOARD=nucleo-f767zi -C examples/gnrc_networking`

```
   text	   data	    bss	    dec	    hex	filename
  76644	    180	  18224	  95048	  17348	.../gnrc_networking.elf
```

##### pre PR: `USEMODULE=gnrc_netif_events make RIOT_CI_BUILD=1 BOARD=nucleo-f767zi -C examples/gnrc_networking`

```
   text	   data	    bss	    dec	    hex	filename
  77120	    180	  18240	  95540	  17534	.../gnrc_networking.elf
```

##### PR: `make RIOT_CI_BUILD=1 BOARD=nucleo-f767zi -C examples/gnrc_networking`

```
   text	   data	    bss	    dec	    hex	filename
  77056	    176	  18224	  95456	  174e0	.../gnrc_networking.elf
```

#### Conclusion

##### Pros:

- fixes lost IRQ issues, but with less ROM than `gnrc_netif_events`
- drivers can now be non-blocking, which is especially for drivers that need to handle IRQs during TX a great simplification
- drivers now can pass up events from IRQ context, which is allows leaner implementation for peripheral network devices with memory mapped interfaces, or SPI attached interfaces that have multiple IRQ pins (so that knowing which IRQ line triggered the IRQ is enough to classify the event).
- passing auxiliary info up the stack (e.g. data pending, TX timestamps, number of retransmissions, time before channel clear assessment succeeded, ...) is now possible via `send_confirm()`

##### Cons:

- Requires more ROM

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/15821#issuecomment-765506781
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20210122/eef529f2/attachment.htm>


More information about the notifications mailing list