#include "bcachefs.h"
#include "clock.h"
#include <linux/freezer.h>
#include <linux/kthread.h>
#include <linux/preempt.h>
static inline bool io_timer_cmp(const void *l, const void *r, void __always_unused *args)
{ … }
static inline void io_timer_swp(void *l, void *r, void __always_unused *args)
{ … }
void bch2_io_timer_add(struct io_clock *clock, struct io_timer *timer)
{ … }
void bch2_io_timer_del(struct io_clock *clock, struct io_timer *timer)
{ … }
struct io_clock_wait { … };
static void io_clock_wait_fn(struct io_timer *timer)
{ … }
static void io_clock_cpu_timeout(struct timer_list *timer)
{ … }
void bch2_io_clock_schedule_timeout(struct io_clock *clock, u64 until)
{ … }
void bch2_kthread_io_clock_wait(struct io_clock *clock,
u64 io_until, unsigned long cpu_timeout)
{ … }
static struct io_timer *get_expired_timer(struct io_clock *clock, u64 now)
{ … }
void __bch2_increment_clock(struct io_clock *clock, u64 sectors)
{ … }
void bch2_io_timers_to_text(struct printbuf *out, struct io_clock *clock)
{ … }
void bch2_io_clock_exit(struct io_clock *clock)
{ … }
int bch2_io_clock_init(struct io_clock *clock)
{ … }