Re: [PATCH v4 5/5] mm: add tracepoints for zone lock
From: Steven Rostedt
Date: Fri Feb 27 2026 - 14:51:10 EST
On Fri, 27 Feb 2026 16:00:27 +0000
Dmitry Ilvokhin <d@xxxxxxxxxxxx> wrote:
> static inline void zone_lock_init(struct zone *zone)
> {
> @@ -12,26 +59,41 @@ static inline void zone_lock_init(struct zone *zone)
>
> #define zone_lock_irqsave(zone, flags) \
> do { \
> + bool success = true; \
> + \
> + __zone_lock_trace_start_locking(zone); \
> spin_lock_irqsave(&(zone)->_lock, flags); \
> + __zone_lock_trace_acquire_returned(zone, success); \
Why the "success" variable and not just:
__zone_lock_trace_acquire_returned(zone, true);
?
> } while (0)
>
> #define zone_trylock_irqsave(zone, flags) \
> ({ \
> - spin_trylock_irqsave(&(zone)->_lock, flags); \
> + bool success; \
> + \
> + __zone_lock_trace_start_locking(zone); \
> + success = spin_trylock_irqsave(&(zone)->_lock, flags); \
> + __zone_lock_trace_acquire_returned(zone, success); \
> + success; \
> })
>
> static inline void zone_unlock_irqrestore(struct zone *zone, unsigned long flags)
> {
> + __zone_lock_trace_released(zone);
> spin_unlock_irqrestore(&zone->_lock, flags);
> }
>
> static inline void zone_lock_irq(struct zone *zone)
> {
> + bool success = true;
> +
> + __zone_lock_trace_start_locking(zone);
> spin_lock_irq(&zone->_lock);
> + __zone_lock_trace_acquire_returned(zone, success);
Same here.
> }
>
> static inline void zone_unlock_irq(struct zone *zone)
> {
> + __zone_lock_trace_released(zone);
> spin_unlock_irq(&zone->_lock);
> }
>
-- Steve