Re: [riot-devel] Event driven drivers

2015-02-09 Thread Hauke Petersen
Hi again, On 09.02.2015 14:33, Kaspar Schleiser wrote: Hi Joakim, On 02/09/15 14:20, Joakim Gebart wrote: Has anyone measured the cost of the thread context switching on the different platforms? I'm mainly interested in Cortex-M4 (Kinetis). This would be a good indication of how "slow" an I/O

Re: [riot-devel] Event driven drivers

2015-02-09 Thread Hauke Petersen
Hi, we do indeed have a number of places in the driver code, where busy waiting is used. The reason for this is mostly missing man power to implement better versions of the same driver. The most important fact here is, that you can re-implement a driver in a more efficient way completely tran

Re: [riot-devel] Event driven drivers

2015-02-09 Thread Kaspar Schleiser
Hi Joakim, On 02/09/15 14:20, Joakim Gebart wrote: Has anyone measured the cost of the thread context switching on the different platforms? I'm mainly interested in Cortex-M4 (Kinetis). This would be a good indication of how "slow" an I/O device has to be before it is worth it to manually yield

Re: [riot-devel] Event driven drivers

2015-02-09 Thread Joakim Gebart
I was actually writing on a post for this list along the same theme when I saw your message. The main reason I see for removing the busy waits is that you can lower the power consumption if you can let the CPU core sleep while the peripheral is working, either using interrupts or DMA for the transf

Re: [riot-devel] Event driven drivers

2015-02-08 Thread Ludwig Ortmann
On Sun, Feb 08, 2015 at 04:48:00PM +0100, Ludwig Ortmann wrote: > Hi Frank, > > On Sun, Feb 08, 2015 at 11:47:25AM +0100, Frank Holtz wrote: > > i have looked into periph drivers and found a lot of single line "while" > > statements waiting for finishing things. > > ... > > Slow devices like ADC,

Re: [riot-devel] Event driven drivers

2015-02-08 Thread Ludwig Ortmann
Hi Frank, On Sun, Feb 08, 2015 at 11:47:25AM +0100, Frank Holtz wrote: > i have looked into periph drivers and found a lot of single line "while" > statements waiting for finishing things. > ... > Slow devices like ADC, Flash, UART or Random number generation are > wasting a lot of CPU cycles whi

[riot-devel] Event driven drivers

2015-02-08 Thread Frank Holtz
Hello, i have looked into periph drivers and found a lot of single line "while" statements waiting for finishing things. stm32f4 -> 26 statements nrf51822 -> 4 statements atmega2560 -> 8 statements cc2538 -> 4 statements sam3x8e -> 13 statements ... Slow devices like ADC, Flash, UART or Random n