This patch series adds missing annotations to functions that register warnings of context imbalance when built with Sparse tool.
The adds fix these warnings and give insight on what the functions are actually doing.
In the core kernel,
1. IRQ and RCU subsystems: exactly patch 1 and 3, __releases() annotations were added as these functions exit the critical section
2. RCU subsystem again, patch 2 and 4, __acquire() annotations were added as the functions allow entry to the critical section.
3. TIME subsystem, patch 5 where lock is held at entry and exit of the function, an __must_hold() annotation was added.
Jules Irenge (5):
irq: Add missing annotation for __irq_put_desc_unlock()
rcu: Add missing annotation for exit_tasks_rcu_start()
rcu: Add missing annotation for exit_tasks_rcu_finish()
rcu: Add missing annotation for rcu_nocb_bypass_lock()
time: Add missing annotation for __run_timer()
kernel/irq/irqdesc.c | 1 +
kernel/rcu/tree_plugin.h | 1 +
kernel/rcu/update.c | 4 ++--
kernel/time/hrtimer.c | 2 +-
4 files changed, 5 insertions(+), 3 deletions(-)
--
2.24.1
On Mon, Jan 20, 2020 at 10:35:15PM +0000, Jules Irenge wrote:
> This patch series adds missing annotations to functions that register warnings of context imbalance when built with Sparse tool.
> The adds fix these warnings and give insight on what the functions are actually doing.
> In the core kernel,
>
> 1. IRQ and RCU subsystems: exactly patch 1 and 3, __releases() annotations were added as these functions exit the critical section
> 2. RCU subsystem again, patch 2 and 4, __acquire() annotations were added as the functions allow entry to the critical section.
> 3. TIME subsystem, patch 5 where lock is held at entry and exit of the function, an __must_hold() annotation was added.
Queued for review and testing, thank you!
I edited the commit logs, so please check to make sure that I did not
mess something up.
Thanx, Paul
> Jules Irenge (5):
> irq: Add missing annotation for __irq_put_desc_unlock()
> rcu: Add missing annotation for exit_tasks_rcu_start()
> rcu: Add missing annotation for exit_tasks_rcu_finish()
> rcu: Add missing annotation for rcu_nocb_bypass_lock()
> time: Add missing annotation for __run_timer()
>
> kernel/irq/irqdesc.c | 1 +
> kernel/rcu/tree_plugin.h | 1 +
> kernel/rcu/update.c | 4 ++--
> kernel/time/hrtimer.c | 2 +-
> 4 files changed, 5 insertions(+), 3 deletions(-)
>
> --
> 2.24.1
>
Thanks I am currently an intern with Outreachy program. I am happy to
receive any comment or recommendation so as I can improve.
Best Regards,
Jules
On Tue, 21 Jan 2020, Paul E. McKenney wrote:
> On Mon, Jan 20, 2020 at 10:35:15PM +0000, Jules Irenge wrote:
> > This patch series adds missing annotations to functions that register warnings of context imbalance when built with Sparse tool.
> > The adds fix these warnings and give insight on what the functions are actually doing.
> > In the core kernel,
> >
> > 1. IRQ and RCU subsystems: exactly patch 1 and 3, __releases() annotations were added as these functions exit the critical section
> > 2. RCU subsystem again, patch 2 and 4, __acquire() annotations were added as the functions allow entry to the critical section.
> > 3. TIME subsystem, patch 5 where lock is held at entry and exit of the function, an __must_hold() annotation was added.
>
> Queued for review and testing, thank you!
>
> I edited the commit logs, so please check to make sure that I did not
> mess something up.
>
> Thanx, Paul
>
> > Jules Irenge (5):
> > irq: Add missing annotation for __irq_put_desc_unlock()
> > rcu: Add missing annotation for exit_tasks_rcu_start()
> > rcu: Add missing annotation for exit_tasks_rcu_finish()
> > rcu: Add missing annotation for rcu_nocb_bypass_lock()
> > time: Add missing annotation for __run_timer()
> >
> > kernel/irq/irqdesc.c | 1 +
> > kernel/rcu/tree_plugin.h | 1 +
> > kernel/rcu/update.c | 4 ++--
> > kernel/time/hrtimer.c | 2 +-
> > 4 files changed, 5 insertions(+), 3 deletions(-)
> >
> > --
> > 2.24.1
> >
>