- Nov 18, 2016
-
-
Gregory Nutt authored
-
Gregory Nutt authored
Most interrupt handling logic interacts with tasks via standard mechanism such as sem_post, sigqueue, mq_send, etc. This all call enter_critical_section and are assumed to be safe in the SMP case. But certain logic interacts with tasks in different ways. The only one that comes to mind are wdogs. There is a tasking interface that to manipulate wdogs, and a different interface in the timer interrupt handling logic to manage wdog expirations. In the normal case, this is fine. Since the tasking level code calls enter_critical_section, interrupts are disabled an no conflicts can occur. But that may not be the case in the SMP case. Most architectures do not permit disabling interrupts on other CPUs so enter_critical_section must work differently: Locks are required to protect code. So this change adds locking (via enter_critical section) to wdog expiration logic for the the case if the SMP configuration.
-
Gregory Nutt authored
-
Gregory Nutt authored
drivers/net: Add option to use low-priority work queue to all drivers in drivers/net. Not yet added to all architecture-specific network drivers.
-
Gregory Nutt authored
Timerfixes
-
Gregory Nutt authored
-
Sebastien Lorquet authored
-
Sebastien Lorquet authored
-
Sebastien Lorquet authored
-
Gregory Nutt authored
-
Gregory Nutt authored
SMP: irq_csection() has a bad assumption. It assumed that the state of certain variables. That was true on entry into the interrupt handler, but might change to the execution of logic within the interrupt handler.
-
- Nov 17, 2016
-
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
apps/examples/timer: Restore the timer example, but adapt the interface to use the new signal logic from Sebastien, Lorquet. Totally untested and probably does not work!
-
Gregory Nutt authored
All timer lower half drivers. Port Sebastien's changes to all all other implementations of the timer lower half. Very many just and untested. Expect some problems.
-
Sebastien Lorquet authored
timer driver: Use signal to notify of timer expiration. Add generic argument so that there can be additional usage.
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
Timer driver: Add hooks to support signal notification of timer expiration. Commented out because invasive interface changes would also be required to complete the implementation.
-
Gregory Nutt authored
drivers/timer: Remove the TIOC_SETHANDLER IOCTL call. This calls directly from the timer driver into application code. That is non-standard, non-portable, and cannot be supported
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
Add some experimental changes to enter/leave_critical_section to deal with the case where interrupts are disabled only on the local CPU
-
- Nov 16, 2016
-
-
Gregory Nutt authored
-
- Nov 15, 2016
-
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
If SMP is enabled, if any interrupt handler calls enter_critical_section(), it should take the spinlock.
-
Gregory Nutt authored
sched/irq: Change order for SMP case in enter_critical_section: Disble local interrupts BEFORE taking spinlock.
-