cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

blk-cgroup.h (1668B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _BLK_CGROUP_H
      3#define _BLK_CGROUP_H
      4/*
      5 * Common Block IO controller cgroup interface
      6 *
      7 * Based on ideas and code from CFQ, CFS and BFQ:
      8 * Copyright (C) 2003 Jens Axboe <axboe@kernel.dk>
      9 *
     10 * Copyright (C) 2008 Fabio Checconi <fabio@gandalf.sssup.it>
     11 *		      Paolo Valente <paolo.valente@unimore.it>
     12 *
     13 * Copyright (C) 2009 Vivek Goyal <vgoyal@redhat.com>
     14 * 	              Nauman Rafique <nauman@google.com>
     15 */
     16
     17#include <linux/types.h>
     18
     19struct bio;
     20struct cgroup_subsys_state;
     21struct request_queue;
     22
     23#define FC_APPID_LEN              129
     24
     25#ifdef CONFIG_BLK_CGROUP
     26extern struct cgroup_subsys_state * const blkcg_root_css;
     27
     28void blkcg_schedule_throttle(struct request_queue *q, bool use_memdelay);
     29void blkcg_maybe_throttle_current(void);
     30bool blk_cgroup_congested(void);
     31void blkcg_pin_online(struct cgroup_subsys_state *blkcg_css);
     32void blkcg_unpin_online(struct cgroup_subsys_state *blkcg_css);
     33struct list_head *blkcg_get_cgwb_list(struct cgroup_subsys_state *css);
     34struct cgroup_subsys_state *bio_blkcg_css(struct bio *bio);
     35
     36#else	/* CONFIG_BLK_CGROUP */
     37
     38#define blkcg_root_css	((struct cgroup_subsys_state *)ERR_PTR(-EINVAL))
     39
     40static inline void blkcg_maybe_throttle_current(void) { }
     41static inline bool blk_cgroup_congested(void) { return false; }
     42static inline void blkcg_schedule_throttle(struct request_queue *q, bool use_memdelay) { }
     43static inline struct cgroup_subsys_state *bio_blkcg_css(struct bio *bio)
     44{
     45	return NULL;
     46}
     47#endif	/* CONFIG_BLK_CGROUP */
     48
     49int blkcg_set_fc_appid(char *app_id, u64 cgrp_id, size_t app_id_len);
     50char *blkcg_get_fc_appid(struct bio *bio);
     51
     52#endif	/* _BLK_CGROUP_H */