Lines Matching refs:iot
58 static void iot_init(struct io_tracker *iot)
60 spin_lock_init(&iot->lock);
61 iot->in_flight = 0ul;
62 iot->idle_time = 0ul;
63 iot->last_update_time = jiffies;
66 static bool __iot_idle_for(struct io_tracker *iot, unsigned long jifs)
68 if (iot->in_flight)
71 return time_after(jiffies, iot->idle_time + jifs);
74 static bool iot_idle_for(struct io_tracker *iot, unsigned long jifs)
78 spin_lock_irq(&iot->lock);
79 r = __iot_idle_for(iot, jifs);
80 spin_unlock_irq(&iot->lock);
85 static void iot_io_begin(struct io_tracker *iot, sector_t len)
87 spin_lock_irq(&iot->lock);
88 iot->in_flight += len;
89 spin_unlock_irq(&iot->lock);
92 static void __iot_io_end(struct io_tracker *iot, sector_t len)
97 iot->in_flight -= len;
98 if (!iot->in_flight)
99 iot->idle_time = jiffies;
102 static void iot_io_end(struct io_tracker *iot, sector_t len)
106 spin_lock_irqsave(&iot->lock, flags);
107 __iot_io_end(iot, len);
108 spin_unlock_irqrestore(&iot->lock, flags);