linux/block/blk-throttle.c
<<
>>
Prefs
   1/*
   2 * Interface for controlling IO bandwidth on a request queue
   3 *
   4 * Copyright (C) 2010 Vivek Goyal <vgoyal@redhat.com>
   5 */
   6
   7#include <linux/module.h>
   8#include <linux/slab.h>
   9#include <linux/blkdev.h>
  10#include <linux/bio.h>
  11#include <linux/blktrace_api.h>
  12#include "blk-cgroup.h"
  13#include "blk.h"
  14
  15/* Max dispatch from a group in 1 round */
  16static int throtl_grp_quantum = 8;
  17
  18/* Total max dispatch from all groups in one round */
  19static int throtl_quantum = 32;
  20
  21/* Throttling is performed over 100ms slice and after that slice is renewed */
  22static unsigned long throtl_slice = HZ/10;      /* 100 ms */
  23
  24static struct blkcg_policy blkcg_policy_throtl;
  25
  26/* A workqueue to queue throttle related work */
  27static struct workqueue_struct *kthrotld_workqueue;
  28static void throtl_schedule_delayed_work(struct throtl_data *td,
  29                                unsigned long delay);
  30
  31struct throtl_rb_root {
  32        struct rb_root rb;
  33        struct rb_node *left;
  34        unsigned int count;
  35        unsigned long min_disptime;
  36};
  37
  38#define THROTL_RB_ROOT  (struct throtl_rb_root) { .rb = RB_ROOT, .left = NULL, \
  39                        .count = 0, .min_disptime = 0}
  40
  41#define rb_entry_tg(node)       rb_entry((node), struct throtl_grp, rb_node)
  42
  43/* Per-cpu group stats */
  44struct tg_stats_cpu {
  45        /* total bytes transferred */
  46        struct blkg_rwstat              service_bytes;
  47        /* total IOs serviced, post merge */
  48        struct blkg_rwstat              serviced;
  49};
  50
  51struct throtl_grp {
  52        /* must be the first member */
  53        struct blkg_policy_data pd;
  54
  55        /* active throtl group service_tree member */
  56        struct rb_node rb_node;
  57
  58        /*
  59         * Dispatch time in jiffies. This is the estimated time when group
  60         * will unthrottle and is ready to dispatch more bio. It is used as
  61         * key to sort active groups in service tree.
  62         */
  63        unsigned long disptime;
  64
  65        unsigned int flags;
  66
  67        /* Two lists for READ and WRITE */
  68        struct bio_list bio_lists[2];
  69
  70        /* Number of queued bios on READ and WRITE lists */
  71        unsigned int nr_queued[2];
  72
  73        /* bytes per second rate limits */
  74        uint64_t bps[2];
  75
  76        /* IOPS limits */
  77        unsigned int iops[2];
  78
  79        /* Number of bytes disptached in current slice */
  80        uint64_t bytes_disp[2];
  81        /* Number of bio's dispatched in current slice */
  82        unsigned int io_disp[2];
  83
  84        /* When did we start a new slice */
  85        unsigned long slice_start[2];
  86        unsigned long slice_end[2];
  87
  88        /* Some throttle limits got updated for the group */
  89        int limits_changed;
  90
  91        /* Per cpu stats pointer */
  92        struct tg_stats_cpu __percpu *stats_cpu;
  93
  94        /* List of tgs waiting for per cpu stats memory to be allocated */
  95        struct list_head stats_alloc_node;
  96};
  97
  98struct throtl_data
  99{
 100        /* service tree for active throtl groups */
 101        struct throtl_rb_root tg_service_tree;
 102
 103        struct request_queue *queue;
 104
 105        /* Total Number of queued bios on READ and WRITE lists */
 106        unsigned int nr_queued[2];
 107
 108        /*
 109         * number of total undestroyed groups
 110         */
 111        unsigned int nr_undestroyed_grps;
 112
 113        /* Work for dispatching throttled bios */
 114        struct delayed_work throtl_work;
 115
 116        int limits_changed;
 117};
 118
 119/* list and work item to allocate percpu group stats */
 120static DEFINE_SPINLOCK(tg_stats_alloc_lock);
 121static LIST_HEAD(tg_stats_alloc_list);
 122
 123static void tg_stats_alloc_fn(struct work_struct *);
 124static DECLARE_DELAYED_WORK(tg_stats_alloc_work, tg_stats_alloc_fn);
 125
 126static inline struct throtl_grp *pd_to_tg(struct blkg_policy_data *pd)
 127{
 128        return pd ? container_of(pd, struct throtl_grp, pd) : NULL;
 129}
 130
 131static inline struct throtl_grp *blkg_to_tg(struct blkcg_gq *blkg)
 132{
 133        return pd_to_tg(blkg_to_pd(blkg, &blkcg_policy_throtl));
 134}
 135
 136static inline struct blkcg_gq *tg_to_blkg(struct throtl_grp *tg)
 137{
 138        return pd_to_blkg(&tg->pd);
 139}
 140
 141static inline struct throtl_grp *td_root_tg(struct throtl_data *td)
 142{
 143        return blkg_to_tg(td->queue->root_blkg);
 144}
 145
 146enum tg_state_flags {
 147        THROTL_TG_FLAG_on_rr = 0,       /* on round-robin busy list */
 148};
 149
 150#define THROTL_TG_FNS(name)                                             \
 151static inline void throtl_mark_tg_##name(struct throtl_grp *tg)         \
 152{                                                                       \
 153        (tg)->flags |= (1 << THROTL_TG_FLAG_##name);                    \
 154}                                                                       \
 155static inline void throtl_clear_tg_##name(struct throtl_grp *tg)        \
 156{                                                                       \
 157        (tg)->flags &= ~(1 << THROTL_TG_FLAG_##name);                   \
 158}                                                                       \
 159static inline int throtl_tg_##name(const struct throtl_grp *tg)         \
 160{                                                                       \
 161        return ((tg)->flags & (1 << THROTL_TG_FLAG_##name)) != 0;       \
 162}
 163
 164THROTL_TG_FNS(on_rr);
 165
 166#define throtl_log_tg(td, tg, fmt, args...)     do {                    \
 167        char __pbuf[128];                                               \
 168                                                                        \
 169        blkg_path(tg_to_blkg(tg), __pbuf, sizeof(__pbuf));              \
 170        blk_add_trace_msg((td)->queue, "throtl %s " fmt, __pbuf, ##args); \
 171} while (0)
 172
 173#define throtl_log(td, fmt, args...)    \
 174        blk_add_trace_msg((td)->queue, "throtl " fmt, ##args)
 175
 176static inline unsigned int total_nr_queued(struct throtl_data *td)
 177{
 178        return td->nr_queued[0] + td->nr_queued[1];
 179}
 180
 181/*
 182 * Worker for allocating per cpu stat for tgs. This is scheduled on the
 183 * system_nrt_wq once there are some groups on the alloc_list waiting for
 184 * allocation.
 185 */
 186static void tg_stats_alloc_fn(struct work_struct *work)
 187{
 188        static struct tg_stats_cpu *stats_cpu;  /* this fn is non-reentrant */
 189        struct delayed_work *dwork = to_delayed_work(work);
 190        bool empty = false;
 191
 192alloc_stats:
 193        if (!stats_cpu) {
 194                stats_cpu = alloc_percpu(struct tg_stats_cpu);
 195                if (!stats_cpu) {
 196                        /* allocation failed, try again after some time */
 197                        queue_delayed_work(system_nrt_wq, dwork,
 198                                           msecs_to_jiffies(10));
 199                        return;
 200                }
 201        }
 202
 2ne" name="L200">3"> 2ne" name="L200zkn)_irass="sref">systemzkn)_ira10));tg_stats_alloc_lock);
2104
2105        emptyhead<" cla10));tg_stats_alloc_list);
2106throtl_grp *tg)     href="+code=allochead< memby" class="sref">rb_enhead< memby" cla10));tg_stats_alloc_list);
2107throtl_grp, 2108stats_alloc_node;
2109throt_waatg), stats_cpu) {
stats_cpu) {
2110lefttg), stats_alloc_node;
21112112
21133"> 2ne" name="L20" class="sref">empty = emptyhead<" cla10));tg_stats_alloc_list);
2114)_irass="sref">systemzkn)_ira10));tg_stats_alloc_lock);
2115empty = 2116alloc_stats:
2117};
2118
2119leftblkcg_gq *blkg)
2120statihref="block/blk-throttle.c#L196" 2d="L121" 2lass="line" name="L121">2121throtl_grp *tg)     href="+code=allocto_tg" class="sref">blkg_to_tg(blkg)
2122flags;
21232124flagsRB_CLEAR_NODE10));tg), rb_node)
2125_iniass="sref">left_inia10));tg), bio_lists[2];
<0]hhref="block/blk-throttle.c#L66" i2d="L116" 2lass="line" name="L126">2126_iniass="sref">left_inia10));tg), bio_lists[2];
<1]hhref="block/blk-throttle.c#L66" i2d="L107" 2lass="line" name="L127">2127tg), limits_changed;
false;
21282129tg), bps[2];
LIST_Ra>(2130tg), bps[2];
bps2131tg), iops[2];
LIST_Ra>(2132tg), iops[2];
bps21332134/* Listn>
2135 */) {
2136stati class="comment"> */(.  Qdela Th on {
2137{
 */)work ate percphrom item to aan>
2138      class="comment">         */
2139)_irasavass="sref">stats_zkn)_irasava10));tg_stats_alloc_lock);
flags;
2140_adass="sref">list_headtg), stats_alloc_node;
tg_stats_alloc_list);
2141queue_delayed_work(system_nrt_wq, tg_stats_alloc_work, 2142)_iraresfs.ass="sref">stats_zkn)_iraresfs.a10));tg_stats_alloc_lock);
flags;
2143      ref="block/blk-throttle.c#L121" 2d="L144" 2lass="line" name="L144">21442145leftblkcg_gq *blkg)
2146enum href="block/blk-throttle.c#L196" 2d="L147" 2lass="line" name="L147">2147        throtl_grp *tg)     href="+code=allocto_tg" class="sref">blkg_to_tg(blkg)
2148flags;
2149
2150)_irasavass="sref">stats_zkn)_irasava10));tg_stats_alloc_lock);
flags;
2151lefttg), stats_alloc_node;
2152)_iraresfs.ass="sref">stats_zkn)_iraresfs.a10));tg_stats_alloc_lock);
flags;
21532154allocfreepu" clatg), stats_cpu) {
2155stati ref="block/blk-throttle.c#L121" 2d="L156" 2lass="line" name="L156">2156{    ref="block/blk-throttle.c#L121" 2d="L147" 2lass="line" name="L157">2157     c allocl_clearpd_resetp" clastruct blkcg_gq *blkg)
2158}    href="block/blk-throttle.c#L196" 2d="L159" 2lass="line" name="L159">2159throtl_grp *tg)     href="+code=allocto_tg" class="sref">blkg_to_tg(blkg)
2160statsa>;
21612162tg), stats_cpu) {
< =href="+code=alloc class="sref">NULL;
21633">>>>>>>>>n;
21642165statsfor_each_possible clastatsa>;
2166tg_stats_cpu *stats_c     href="+code=allocu" /a> _ptass="sref">on_rru" /a> _ptatg), stats_cpu) {
statsa>;
21672168                     ef="+code=allocto_tgrw_cpu_resetss="sref">blkg_to_tgrw_cpu_reset10));stats_c    msecs_e_tree2169blkg_to_tgrw_cpu_reset10));stats_c    list__e_treea
2170        2171} whilref="block/blk-throttle.c#L121" 2d="L162" 2lass="line" name="L172">2172
2173throtl_grp *okupclass="sref">throtl_log_tgthrotl_data *td)
2174blkcg_gqblkcg_gq2175
2176/* Listn>
2177 */oss=ase whene are some no _gq
2178         */
2179         * numban>
2180blkcg_gqthrot_polic cla*2181td_root_tg(strucef="+code=td" class="sref">td)
21822183blkg_to_tg(blkg_to_tgg href="+code=td" cto_" ss="sref">blkcg_gqtd->queue->a href="block/blk-throttle.c#L199" 2d="L184" 2lass="line" name="L184">218421852186static void t throtl_grp *okupccrelagslass="sref">throtl_log_tgthrotl_data *td)
2187blkcg_gqblkcg_gq21882189        struct queuereblkcgq     href="+code=alloclass="sref">td->queue->href="block/blk-throttle.c#L199" 2d="L190" 2lass="line" name="L190">2190        throtl_grp *tg)     href="+code=alloc class="sref">NULL;
2191
2192/* Listn>
2193 * sysssssssss* is schedllocnt">oss=ase whene are some no _gq
2194 * all   */
2195 */
2196             aa hef="+code=tg" c_gq" ss="sref">blkcg_gqthrot_polic cla*2197                     ef="+code=tg" class="sref">tg)     href="+code=allocla_tg" class="sref">td_root_tg(strucef="+code=td" class="sref">td)
2198             } else href="block/blk-throttle.c#L196" 2d="L189" 2lass="line" name="L199">2199                     t blkcg_gq *blkg)
32003201blkg)
blkg_to_tgg href="+code=td" cto_" ss="sref">blkcg_gqblkcgq    ahref="block/blk-throttle.c#L200" 3d="L202" 3lass="line" name="L202">3202
32ne" 30me="L200">3">>>>>>>>> class="comment">/* allocaa s &qu/a>;work @qchedalive, fall back woctg(s*an>
3104blkcgIS_ERRblkg)
3105        tg)     href="+code=allocto_tg" class="sref">blkg_to_tg(blkg)
3106blkg_to___delayedaablkcgq    ahref="block/blk-throttle.c#L132" 3d7"L106" 3lass="line" name="L197">3107tg)     href="+code=allocla_tg" class="sref">td_root_tg(strucef="+code=td" class="sref">td)
310831093110tg)    href="block/blk-throttle.c#L200" 3d="L111" 3lass="line" name="L111">31113112
3113throtl_grp *throtl_grpthrotl_data"rb< cla*throt cla*31143115/* allocSe_tree treeched s*an>
3116throt cla*throtcouna*3117NULL;
3118
3119throt cla*left3120throt cla*leftthrotrb< membstructhrot cla*throtrb
31213122throt cla*left31233">>>>>>>>>n;
td_rorb<" claclastrucef="+code=td" c class="sref">throt cla*left31243125NULL;
312631273128leftrb_node)
tg_stn*throt b< cla*throt cla*31293130lefttg_stn*throt cla*3131flagsRB_CLEAR_NODE10));ef="+code=td" cass="sref">tg_stn*313231333134leftrb_node)
tg_stn*throtl_data"rb< cla*throt cla*31353136throt cla*lefttg_stn*3137throt cla*leftNULL;
3138lefttg_stn*throt cla*throtrb
3139throt cla*throtcouna*314021434/32
2143thupdcrelmin_dispatch_me *embstruct throtl_data"rb< cla*ths cla*2143  a hhref="block/blk-throttle.c#L196" 2d="L143" 2lass="line" name="L143">21434/30           hrt throtl_grp *tg) 21434/28
21434/226       tg)     href="+code=all cl_logthrotl_grpths cla*<2143        tg), a href="block/blk-throttle.c#L200" 3d="L138" 2lass="line" name="L143">21434/2>                  >>>n;
2143
2153ths cla*thmin_dispme *a>)     href="+code=all class="sref">tg), thdispme *a>) 21535/31} whilref="block/blk-throttle.c#L121" 2d="L153" 2lass="line" name="L153">21535/3>
215353242    c 2153_adass="sref">lil _ecs_e_tree t/a>_embstruct throtl_data"rb< cla*ths cla*throtl_grp *tg)  a href="block/blk-throttle.c#L200 i2d="L143" 2lass="line" name="L153">21535/33
21535630           hrt rb_node)
rbde)
< h=hrths cla*throtrb
. href="+code=de_stde" class="sref">rb_node)
21535/2>        rb_node)
thparecoefa*NULL;
2153582>        throtl_grp *td__) 2153emke a>)     href="+code=all class="sref">tg), thdispme *a>) 2163left21632163rbde)
NULL;
21633">>>>>> href="+code=tgparecounass="sref">thparecoefa*rbde)
r-1href="block/blk-throttle.c#L193  2d="L143" 2lass="line" name="L163">21636/a>                td__) td_rorb<" claclastrucef="+code=tdparecounass="sref">thparecoefa*<21636/28
2163st"e *_befesfclastrucef="+code=tdke class="sref">emke a>) td__)  thdispme *a>)    ahref="block/blk-throttle.c#L132" id="L143" 2lass="line" name="L163">21636/30                        rbde)
< h=hrthparecoefa* le_queuela>)
r-1href="block/blk-throttle.c#L193  2d="L153" 2lass="line" name="L163">2163                   } else href="block/blk-throttle.c#L193" id="L153" 2lass="line" name="L163">2163rbde)
< h=hrthparecoefa* throt igh a>)
r-1href="block/blk-throttle.c#L193" id="L173" 2lass="line" name="L173">21737/32                }
      left21737/301               21737/262       21737/33
2173left21737/3>        ths cla*lefttg), rb_node)
r-1href="block/blk-throttle.c#L193" 2d="L163" 2lass="line" name="L173">21737/2>{    ref="block/blk-throttle.c#L123" 2d="L173" 2lass="line" name="L173">21737/22        rb_noeinkude" clast));tg), rb_node)
thparecoefa*rbde)
<21737/338       onol"insert_colo_clast));tg), rb_node)
ths cla*throtrb
<217321838/30
2183td__throtl_data *td)
throtl_grp *tg)  a href="block/blk-throttle.c#L200" id="L183" 2lass="line" name="L183">21832183throtl_data"rb< cla*ths cla*td->lil _ecs_e_tree ta>)
r-1href="block/blk-throttle.c#L193" 2d="L183" 2lass="line" name="L183">21838/32
21838/265       lil _ecs_e_tree t/a>_embst href="+code=tg membss="sref">ths cla*tg)  r-1href="block/blk-throttle.c#L193" 2d="L163" 2lass="line" name="L183">21838/226       on"otl_damarkela_on_r_embst href="+code=tg" class="sref">tg)  r-1href="block/blk-throttle.c#L193" 2d="L173" 2lass="line" name="L183">21838/22        ths cla*throtcouna*++r-1href="block/blk-throttle.c#L193" 2d="L163" 2lass="line" name="L183">218321838/2>
2193     c tdthrotl_data *td)
throtl_grp *tg)  a href="block/blk-throttle.c#L153" 2d="L183" 2lass="line" name="L193">2193
21939/322       on"otl_dala_on_r_embst href="+code=tg" class="sref">tg)   a href="block/blk-throttle.c#L153" 2d="L183" 2lass="line" name="L193">21939/26me="L200">3">>>>>> href="+code=tg__td__td)
tg)  r-1href="block/blk-throttle.c#L193" 2d="L193" 2lass="line" name="L193">21939/28}
21939/28
2193962>     c td__throtl_data *td)
throtl_grp *tg)  a href="block/blk-throttle.c#L153" 2d="L173" 2lass="line" name="L193">2193  se href="block/blk-throttle.c#L193" 2d="L163" 2lass="line" name="L193">21939/338       lefttg), rb_node)
td->lil _ecs_e_tree ta>)
 r-1href="block/blk-throttle.c#L193" id="L153" 2lass="line" name="L193">21939/22        on"otl_daclearrla_on_r_embst href="+code=tg" class="sref">tg)  r-1href="block/blk-throttle.c#L194" 3d="L204" 3lass="line" name="L204">32040/n4  }
32040/26
32040/242    c tdthrotl_data *td)
throtl_grp *tg)  a href="block/blk-throttle.c#L194"33d="L204" 2lass="line" name="L194">32n40/2>  a hhref="block/blk-throttle.c#L194" 3d="L104" 3lass="line" name="L104">31040/27           hron"otl_dala_on_r_embst href="+code=tg" class="sref">tg)   a href="block/blk-throttle.c#L154" 3d="L104" 3lass="line" name="L104">3104        td__td)
tg)  r-1href="block/blk-throttle.c#L194" 3d="L104" 3lass="line" name="L104">31040/326    lref="block/blk-throttle.c#L124" 3d7"L104" 3lass="line" name="L194">31040/32
31040/32
on"otl_daschedule_next_dispatchembstruct throtl_data *td)
 a href="block/blk-throttle.c#L154"93d="L284  2lass="line" name="L194">31040/32     href="block/blk-throttle.c#L194" 3d="L114" 3lass="line" name="L114">31141/2>        throtl_data"rb< cla*ths cla*td->lil _ecs_e_tree ta>)
r-1href="block/blk-throttle.c#L194" 3d="L114" 3lass="line" name="L114">31141/26
31141/292       /* Listn>
31141/29 * syssssssssIfhene are somo sobios pending
31141/29 * all   */< s*an>
3114tdtd)
  a href="block/blk-throttle.c#L154" 3d="L114" 3lass="line" name="L114">31141/26                  >>>n;
31141/32
31141/338       tdBUG_ONembsta href="+code=stomembss="sref">ths cla*throtcouna* r-1href="block/blk-throttle.c#L194" 3d="L114" 3lass="line" name="L114">31141/2>
31242/25        thupdcrelmin_dispatch_me *embst href="+code=stomembss="sref">ths cla* r-1href="block/blk-throttle.c#L194" 3d="L124" 3lass="line" name="L124">31243124bl"e *_befesf_e"embst href="+code=stomembss="sref">ths cla*thmin_dispme *a>) msjiffibya>)
  a href="block/blk-throttle.c#L154" 3d="L114" 3lass="line" name="L124">31243">>>>>> href="+code=thqutd)
31242/27           } e0 href="block/blk-throttle.c#L124" 3d="L114" 3lass="line" name="L124">31242/3>        qutd)
ths cla*thmin_dispme *a>)  -a href="+code=tgjiffibytlass="sref">msjiffibya>)
  r0 href="block/blk-throttle.c#L124" 3d="L114" 3lass="line" name="L124">312431243124msinne" a>)   hr3124quthrotl_data *td)
throtl_grp *tg) tgboola> *< href="+code=nr_wclass="sref">rb_wa>)
 a href="block/blk-throttle.c#L154" 3d="L134" 3lass="line" name="L134">31343134tg), tgbe),[ href="+code=nr_wclass="sref">rb_wa>)
]31343/252       tg), tgio_dispa>),[ href="+code=nr_wclass="sref">rb_wa>)
]313433252       tg), thsle_trstarta>),[ href="+code=nr_wclass="sref">rb_wa>)
]msjiffibya>)
r-1href="block/blk-throttle.c#L194" 3d="L104" 3lass="line" name="L134">31343/25        tg), thsle_trenda>),[ href="+code=nr_wclass="sref">rb_wa>)
]msjiffibya>)
 +  href="+code=thqu31343/265       throtl_log_gelaembst href="+code=td" class="sref">td)
tg) ,a hreclass="co hring">"[aa s c] new sle_t start=aa s lu end=aa s lu jiffiby=aa s lu"s*an>
<31343/26                        rb_wa>)
rbREADa>)
'R's*an>
< :a hreclass="co hring">'W's*an>
<tg)  thsle_trstarta>),[ href="+code=nr_wclass="sref">rb_wa>)
]3134tg), thsle_trenda>),[ href="+code=nr_wclass="sref">rb_wa>)
]msjiffibya>)
 r-1href="block/blk-throttle.c#L194" 3d="L124" 3lass="line" name="L134">31343/28} whilref="block/blk-throttle.c#L124" 3d="L134" 3lass="line" name="L134">31343/2>
31444/2>     c msinne" a>)   hr<  href="+code=thththrotl_data *td)
21444/301               throtl_grp *tg) tgboola> *< href="+code=nr_wclass="sref">rb_wa>)
,t   ned int <thjiffyrenda>)
 a href="block/blk-throttle.c#L154" 2d="L124" 2lass="line" name="L144">21444/28
214443252       tg), thsle_trenda>),[ href="+code=nr_wclass="sref">rb_wa>)
]blroundthjiffyrenda>)
qu21444/28}
21444/28
2144462>     c msinne" a>)   hr<  href="+code=thquthrotl_data *td)
21444/33                   hrt throtl_grp *tg) tgboola> *< href="+code=nr_wclass="sref">rb_wa>)
,t   ned int <thjiffyrenda>)
 a href="block/blk-throttle.c#L154" 3d="L124" 2lass="line" name="L144">21444/28}    href="block/blk-throttle.c#L194 i2d="L144" 2lass="line" name="L144">21444/22        tg), thsle_trenda>),[ href="+code=nr_wclass="sref">rb_wa>)
]blroundthjiffyrenda>)
qu2154throtl_log_gelaembst href="+code=td" class="sref">td)
tg) ,a hreclass="co hring">"[aa s c] extend sle_t start=aa s lu end=aa s lu jiffiby=aa s lu"s*an>
<21545/301               rb_wa>)
rbREADa>)
'R's*an>
< :a hreclass="co hring">'W's*an>
<tg)  thsle_trstarta>),[ href="+code=nr_wclass="sref">rb_wa>)
]215452301               tg), thsle_trenda>),[ href="+code=nr_wclass="sref">rb_wa>)
]msjiffibya>)
 r-1href="block/blk-throttle.c#L194 i2d="L154" 2lass="line" name="L154">215453242 21545/32
21545/29 */* Determe" a hrpreviously alck/at inor extended sle_t  fn ompletenor not/< s*an>
2154562>     c tgboola> *a href="block/blk-throttle.c#L114" 3d="L104" 2lass="line" name="L154">21545/2>   href="+code=tg"otl_grsle_t_usdoclass="sref">tdthrotl_data *td)
throtl_grp *tg) tgboola> *< href="+code=nr_wclass="sref">rb_wa>)
 a href="block/blk-throttle.c#L154" 2d="L154" 2lass="line" name="L154">21545/28}    href="block/blk-throttle.c#L194" 2d="L154" 2lass="line" name="L154">21545/319            a href="+code=tg"e *_in_rangtclass="sref">qumsjiffibya>)
tg)  thsle_trstarta>),[ href="+code=nr_wclass="sref">rb_wa>)
]tg), thsle_trenda>),[ href="+code=nr_wclass="sref">rb_wa>)
]  a href="block/blk-throttle.c#L154" 2d="L164" 2lass="line" name="L164">21646/32                }
 hrn 21642164216463242 21646/32
21646/29 */* Trimchedlusdo sle_tsa>;woadjust sle_t start accordingl/a> s*an>
2164662>     c msinne" a>)   hr21646/2>   href="+code=tg"otl_grhrimrsle_tclass="sref">quthrotl_data *td)
throtl_grp *tg) tgboola> *< href="+code=nr_wclass="sref">rb_wa>)
 a href="block/blk-throttle.c#L154  2d="L154" 2lass="line" name="L164">21646/28}    href="block/blk-throttle.c#L194" id="L154" 2lass="line" name="L164">21646/25        st   ned int <msnrrsle_tya>)
td)
tgio_hrimembsr-1href="block/blk-throttle.c#L194" id="L174" 2lass="line" name="L174">21747/25        thu6/a>    href="+code=tgbetgbe)
thrmpembsr-1href="block/blk-throttle.c#L194"i2d="L164" 2lass="line" name="L174">21747/26
21747/252       tdBUG_ONembst href="+code=tg"e *_befesfs.ass="sref">st"e *_befesfclastrucef="+code=td" class="sref">tg), thsle_trenda>),[ href="+code=nr_wclass="sref">rb_wa>)
]tg)  thsle_trstarta>),[ href="+code=nr_wclass="sref">rb_wa>)
]  r0 href="block/blk-throttle.c#L124" 2d="L164" 2lass="line" name="L174">21747/33
2174/* Listn>
21747/29 *       }
ssIfhbpsre sounnemit in(-1),chedn "e * sle_t don't getistn>
21747/2>{ pan class="comment"> *       }
ssrenewed. Don't tryack trimchedlsle_t  f sle_t  fnusdo. A newistn>
21747/22  pan class="comment"> *       }
sssle_t will start wedn appropriateo aan>
21747/338 pan class="comment"> * all   */< s*an>
21747/319            a href="+code=tg"otl_grsle_t_usdoclass="sref">tdtd)
tg) ,a href="+code=nr_wclass="sref">rb_wa>)
  a href="block/blk-throttle.c#L154" 2d="L184" 2lass="line" name="L184">21848/32                }
 hrn 21848/26
21848/292       /* Listn>
21848/29 * syssssssssAobio has bedn dispatchdo. Alsooadjust sle_trend. It migh  happenistn>
21848/29 * all   */
21848/29 *       }
sssle_trend, but later nemit was bump inup >;wobio was dispachdoistn>
21848/2>{ pan class="comment"> *       }
sssooner,chedn we ne inck reduce sle_trend. A high bogus sle_trenda>tn>
21848/22  pan class="comment"> *       }
ss fnbawobecausd it dotsanot/alckw new sle_t ck starto aan>
21848/338 pan class="comment"> * all   */< s*an>
21848/2>
21949/25        thtd)
tg) ,a href="+code=nr_wclass="sref">rb_wa>)
msjiffibya>)
 +  href="+code=thqu21949/26
21949/252       td)
msjiffibya>)
 -a href="+code=tg" class="sref">tg)  thsle_trstarta>),[ href="+code=nr_wclass="sref">rb_wa>)
]r0 href="block/blk-throttle.c#L124" 2d="L184" 2lass="line" name="L194">21949/33
21949/25        msnrrsle_tya>)
    href="+code=alle *_elapsdoclass="sref">td)
qu21949/28
21949/33             aa href="+code=stnrrsle_tytlass="sref">msnrrsle_tya>)
 a href="block/blk-throttle.c#L154" 2d="L174" 2lass="line" name="L194">21949/33                   hrn 21949/338       thrmpembs    href="+code=all class="sref">tg), tgbpsa>),[ href="+code=nr_wclass="sref">rb_wa>)
]<*  href="+code=thqumsnrrsle_tya>)
r0 href="block/blk-throttle.c#L124" id="L154" 2lass="line" name="L194">21949/22        msdo_divembst href="+code=td"moclass="sref">thrmpembsthHZembs r0 href="block/blk-throttle.c#L125" 3d="L205" 3lass="line" name="L205">32050/25        tgbe)
    href="+code=allmoclass="sref">thrmpembsr-1href="block/blk-throttle.c#L195" 3d="L205" 3lass="line" name="L205">32050/26
32050/252       tgio_hrimembs   trucef="+code=td" class="sref">tg), tgiopsa>),[ href="+code=nr_wclass="sref">rb_wa>)
]<*  href="+code=thqumsnrrsle_tya>)
)/ href="+code=tgHZclass="sref">thHZembsr-1href="block/blk-throttle.c#L195"33d="L205" 2lass="line" name="L195">32n50/33
31050/27           hrtgbe)
 ));tgio_hrimembs a href="block/blk-throttle.c#L155" 3d="L105" 3lass="line" name="L105">3105        31050/2>{    ref="block/blk-throttle.c#L125" 3d7"L105" 3lass="line" name="L195">31050/2>        tg), tgbe),[ href="+code=nr_wclass="sref">rb_wa>)
]<tgbe)
 a href="block/blk-throttle.c#L155"83d7"L105" 2lass="line" name="L195">31050/2>                   href="+code=all class="sref">tg), tgbe),[ href="+code=nr_wclass="sref">rb_wa>)
]<-   href="+code=albetgbe)
r0 href="block/blk-throttle.c#L125"93d7"L105" 2lass="line" name="L195">31050/22        31151/32                }
 href="+code=all class="sref">tg), tgbe),[ href="+code=nr_wclass="sref">rb_wa>)
]31151/26
31151/322       tg), tgio_dispa>),[ href="+code=nr_wclass="sref">rb_wa>)
]<tgio_hrimembs a href="block/blk-throttle.c#L155" 3d="L115" 3lass="line" name="L115">31151/32me="L200">3">>>>>> href="+code=th< class="sref">tg), tgio_dispa>),[ href="+code=nr_wclass="sref">rb_wa>)
]<-   href="+code=aliorhrimclass="sref">tgio_hrimembsr-1href="block/blk-throttle.c#L195" 3d="L105" 3lass="line" name="L115">31151/27           } e0 href="block/blk-throttle.c#L125" 3d="L115" 3lass="line" name="L115">31151/3>        tg), tgio_dispa>),[ href="+code=nr_wclass="sref">rb_wa>)
]31151/2>{    ref="block/blk-throttle.c#L125" 3d7"L105" 3lass="line" name="L115">31151/22        tg), thsle_trstarta>),[ href="+code=nr_wclass="sref">rb_wa>)
]<+   href="+code=alnrrsle_tytlass="sref">msnrrsle_tya>)
 *  href="+code=thqu31151/338 -1href="block/blk-throttle.c#L195"93d7"L105" 3lass="line" name="L115">31151/22        throtl_log_gelaembst href="+code=td" class="sref">td)
tg) ,a hreclass="co hring">"[aa s c] trimcsle_t nr=aa s lu be
<-1href="block/blk-throttle.c#L195" 3d="L125" 3lass="line" name="L125">31252/32                }
      " start=aa s lu end=aa s lu jiffiby=aa s lu"s*an>
<31252/301               rb_wa>)
rbREADa>)
'R's*an>
< :a hreclass="co hring">'W's*an>
<msnrrsle_tya>)
tgbe)
tgio_hrimembs312522301               tg), thsle_trstarta>),[ href="+code=nr_wclass="sref">rb_wa>)
]tg), thsle_trenda>),[ href="+code=nr_wclass="sref">rb_wa>)
]msjiffibya>)
 r-1href="block/blk-throttle.c#L195" 3d="L115" 3lass="line" name="L125">312523242 31252/32
31252/3>     c tgboola> *a href="+code=bl" _with_in_iops_nemitclass="sref">tgthrotl_data *td)
throtl_grp *tg) 31252/26                   hrt tgbioa> *tgbioa> *,t   ned int <tgwaitembs a href="block/blk-throttle.c#L155" 3d="L105" 3lass="line" name="L125">31252/2>  se href="block/blk-throttle.c#L195" 3d="L125" 3lass="line" name="L125">31252/338       tgboola> *< href="+code=nr_wclass="sref">rb_wa>)
    href="+code=albio_daonbio_datgbioa> * r-1href="block/blk-throttle.c#L195"93d7"L105" 3lass="line" name="L125">31252/25        st   ned inintdio_alckwdoembsr-1href="block/blk-throttle.c#L195" 3d="L135" 3lass="line" name="L135">31353025        st   ned int <tdjiffyrelapsdoa>)
tgjiffy_waita>)
thjiffyrelapsdo_rndembsr-1href="block/blk-throttle.c#L195" 3d="L125" 3lass="line" name="L135">3135thu6/a>    href="+code=tglmoclass="sref">thrmpembsr-1href="block/blk-throttle.c#L195" 3d="L125" 3lass="line" name="L135">31353/252 -1href="block/blk-throttle.c#L195" 3d="L115" 3lass="line" name="L135">313533252       tdjiffyrelapsdoa>)
thjiffyrelapsdo_rndembsmsjiffibya>)
 -a href="+code=tg" class="sref">tg)  thsle_trstarta>),[ href="+code=nr_wclass="sref">rb_wa>)
]r0 href="block/blk-throttle.c#L125" 3d="L105" 3lass="line" name="L135">31353/32
31353/265        */* Sle_t has just startdo. Co  nder ondlsle_t  nterval/< s*an>
31353/33             aa href="+code=stjiffyrelapsdoclass="sref">tdjiffyrelapsdoa>)
 a href="block/blk-throttle.c#L155" 3d="L105" 3lass="line" name="L135">3135thjiffyrelapsdo_rndembsqu31353/338 -1href="block/blk-throttle.c#L195" 3d="L135" 3lass="line" name="L135">31353/22        thjiffyrelapsdo_rndembsblroundthjiffyrelapsdo_rndembsqu31454/30
21454/301          hreclass="comment">/* Listn>
21454/28
 *       }
ssjiffyrelapsdo_rnd shouldanot/be a big value as minimum iops c clbeistn>
21454/29 * syssssssss1chedn at maxsjiffy elapsdo shouldabe equivalt"> ofs1cseco;woas weistn>
21454/29 * all   */
21454/29 *       }
sshave bedn hrimmdo.istn>
21454/2>{ pan class="comment"> *       }
s s*an>
21454/32
21454/338       thrmpembs   t href="+code=tdu" 2lass="lief">thu6/a>  ) href="+code=th< class="sref">tg), tgiopsa>),[ href="+code=nr_wclass="sref">rb_wa>)
]<*  href="+code=thjiffy_elapsdo_rndembss="sref">thjiffyrelapsdo_rndembsr-1href="block/blk-throttle.c#L195 i2d="L145" 2lass="line" name="L145">21454/22        msdo_divembst href="+code=td"moclass="sref">thrmpembsthHZembs r0 href="block/blk-throttle.c#L125" 2d="L155" 2lass="line" name="L155">21555/30
21555/301          hrthrmpembs thUINT_MAXa>)
 a href="block/blk-throttle.c#L155" 2d="L155" 2lass="line" name="L155">215552301               tdio_alckwdoembsthUINT_MAXa>)
r0 href="block/blk-throttle.c#L125" 3d="L115" 2lass="line" name="L155">215553252       215554301               tdio_alckwdoembsthrmpembsr-1href="block/blk-throttle.c#L195 i2d="L145" 2lass="line" name="L155">21555/28
21555/33             a href="+code=th< class="sref">tg), tgio_dispa>),[ href="+code=nr_wclass="sref">rb_wa>)
]<+ 1c&ltdio_alckwdoembs) se href="block/blk-throttle.c#L195" 3d="L105" 2lass="line" name="L155">21555/33                     a href="+code=thwaitclass="sref">tgwaitembs a href="block/blk-throttle.c#L155" 2d="L155" 2lass="line" name="L155">21555/2>                        }
s href="+code=thwaitclass="sref">tgwaitembs21555/319                  hrn 21656/32          216521656/292       /* L Calc approx "e * to dispatch s s*an>
216563252       tgjiffy_waita>)
   ta href="+code=th< class="sref">tg), tgio_dispa>),[ href="+code=nr_wclass="sref">rb_wa>)
]<+ 1)<*  href="+code=thHZclass="sref">thHZembs / href="+code=tg< class="sref">tg), tgiopsa>),[ href="+code=nr_wclass="sref">rb_wa>)
]<+ahr-1href="block/blk-throttle.c#L195" 2d="L145" 2lass="line" name="L165">21656/32
21656/31        tgjiffy_waita>)
 tdjiffyrelapsdoa>)
 a href="block/blk-throttle.c#L155" 2d="L165" 2lass="line" name="L165">21656/26                   href="+code=bojiffyrwaitclass="sref">tgjiffy_waita>)
    href="+code=bojiffyrwaitclass="sref">tgjiffy_waita>)
 -a href="+code=tgjiffyrelapsdoclass="sref">tdjiffyrelapsdoa>)
r-1href="block/blk-throttle.c#L195" 3d="L105" 2lass="line" name="L165">21656/33           } e0 href="block/blk-throttle.c#L125  2d="L155" 2lass="line" name="L165">21656/2>                   href="+code=aljiffyrwaitclass="sref">tgjiffy_waita>)
   hr-1href="block/blk-throttle.c#L195" 2d="L155" 2lass="line" name="L165">21656/2>
21757/25        tgwaitembs a href="block/blk-throttle.c#L155"i2d="L165" 2lass="line" name="L175">21757/301               tgwaitembstgjiffy_waita>)
r-1href="block/blk-throttle.c#L195" 2d="L165" 2lass="line" name="L175">21757/262       217573242 21757/32
21757/3>     c tgboola> *a href="+code=bl" _with_in_bps_nemitclass="sref">tgthrotl_data *td)
throtl_grp *tg) 21757/26                   hrt tgbioa> *tgbioa> *,t   ned int <tgwaitembs a href="block/blk-throttle.c#L155" 3d="L105" 2lass="line" name="L175">21757/2>  se href="block/blk-throttle.c#L195" 2d="L165" 2lass="line" name="L175">21757/338       tgboola> *< href="+code=nr_wclass="sref">rb_wa>)
    href="+code=albio_daonbio_datgbioa> * r-1href="block/blk-throttle.c#L195" id="L155" 2lass="line" name="L175">21757/22        thu6/a>    href="+code=tgbetdbetdextra_bethrmpembsr-1href="block/blk-throttle.c#L195" 2d="L185" 2lass="line" name="L185">21858025        st   ned int <tdjiffyrelapsdoa>)
tgjiffy_waita>)
thjiffyrelapsdo_rndembsr-1href="block/blk-throttle.c#L195" 2d="L185" 2lass="line" name="L185">21858/26
21858/252       tdjiffyrelapsdoa>)
thjiffyrelapsdo_rndembsmsjiffibya>)
 -a href="+code=tg" class="sref">tg)  thsle_trstarta>),[ href="+code=nr_wclass="sref">rb_wa>)
]r0 href="block/blk-throttle.c#L125" 2d="L185" 2lass="line" name="L185">21858/33
21858/27           hreclass="comment">/* L Sle_t has just startdo. Co  nder ondlsle_t  nterval/< s*an>
21858/31        tdjiffyrelapsdoa>)
 a href="block/blk-throttle.c#L155" 2d="L165" 2lass="line" name="L185">21858/26                   href="+code=bojiffyrelapsdo_rndembss="sref">thjiffyrelapsdo_rndembsqu21858/32
21858/338       thjiffyrelapsdo_rndembsblroundthjiffyrelapsdo_rndembsqu21858/2>
21959/25        thrmpembs    href="+code=all class="sref">tg), tgbpsa>),[ href="+code=nr_wclass="sref">rb_wa>)
]<*  href="+code=thjiffy_elapsdo_rndembss="sref">thjiffyrelapsdo_rndembsr-1href="block/blk-throttle.c#L195" 2d="L185" 2lass="line" name="L195">21959/331       msdo_divembst href="+code=td"moclass="sref">thrmpembsthHZembs r0 href="block/blk-throttle.c#L125" 2d="L195" 2lass="line" name="L195">21959/252       tdbethrmpembsr-1href="block/blk-throttle.c#L195" 2d="L185" 2lass="line" name="L195">21959/33
21959/25        tg), tgbe),[ href="+code=nr_wclass="sref">rb_wa>)
]<+  href="+code=thbioclass="sref">tgbioa> * qubi_sizta>)
 tdbe21959/3>        tgwaitembs a href="block/blk-throttle.c#L155" 2d="L195" 2lass="line" name="L195">21959/26                        tgwaitembs21959/33                   hrn < hr-1href="block/blk-throttle.c#L195" 2d="L165" 2lass="line" name="L195">21959/338       21959/2>
32060/25        /* L Calc approx "e * to dispatch s s*an>
32060/331       tdextra_betg), tgbe),[ href="+code=nr_wclass="sref">rb_wa>)
]<+  href="+code=thbioclass="sref">tgbioa> * qubi_sizta>)
 -a href="+code=tgbetdbe32060/252       tgjiffy_waita>)
    href="+code=bodiv64_u" 2lass="lief">thdiv64_u" embst href="+code=tdextra_betdextra_bethHZembstg), tgbpsa>),[ href="+code=nr_wclass="sref">rb_wa>)
] r0 href="block/blk-throttle.c#L126"33d="L206" 2lass="line" name="L196">32n60/33
31060/27           hrtgjiffy_waita>)
 a href="block/blk-throttle.c#L156" 3d="L106" 3lass="line" name="L106">3106        tgjiffy_waita>)
   hr-1href="block/blk-throttle.c#L196" 3d="L106" 3lass="line" name="L106">31060/2>{    ref="block/blk-throttle.c#L126" 3d7"L106" 3lass="line" name="L196">31060/2>        /* Listn>
31060/338 pan class="comment"> * all   */< This wait "e * is without "aking seto co  nderationchedlroundingistn>
31060/22  pan class="comment"> * all   */< up we did. Add heat "e * also.istn>
31161/32  pan class="comment"> *       }
s s*an>
31161/331       tgjiffy_waita>)
    href="+code=bojiffyrwaitclass="sref">tgjiffy_waita>)
 +r< href="+code=bojiffyrelapsdo_rndembss="sref">thjiffyrelapsdo_rndembs<-a href="+code=tgjiffyrelapsdoclass="sref">tdjiffyrelapsdoa>)
 r0 href="block/blk-throttle.c#L126" 3d="L116" 3lass="line" name="L116">31161/322       tgwaitembs a href="block/blk-throttle.c#L156" 3d="L116" 3lass="line" name="L116">31161/32me="L200">3">>>>>>s href="+code=thwaitclass="sref">tgwaitembstgjiffy_waita>)
r-1href="block/blk-throttle.c#L196" 3d="L106" 3lass="line" name="L116">31161/27           hrn 31161/3>  31161/2>{    ref="block/blk-throttle.c#L126" 3d7"L106" 3lass="line" name="L116">31161/22     c tgboola> *a href="+code=bl" _no_rule_groupclass="sref">tgthrotl_grp *tg) tgboola> *< href="+code=nr_wclass="sref">rb_wa>)
  se href="block/blk-throttle.c#L196"83d7"L106 c3lass="line" name="L116">311618322       tg), tgbpsa>),[ href="+code=nr_wclass="sref">rb_wa>)
]<== -1 ));tg), tgiopsa>),[ href="+code=nr_wclass="sref">rb_wa>)
]<== -1 a href="block/blk-throttle.c#L156"93d7"L106" 3lass="line" name="L116">31161/319                  hrn 31262/32           hrn 31262/301 31262/252 -1href="block/blk-throttle.c#L196" 3d="L116" 3lass="line" name="L126">31262/29 * Listn>
31262/29 * * Rhrn 
31262/29 * * ofsjiffiby to wait befesf he fnbio is with-in IO rateoa;woc clbe dispatchdoistn>
31262/2>{ pan class="comment"> * s s*an>
31262/22     c tgboola> *a href="+code=bl" _may_dispatchclass="sref">tgthrotl_data *td)
throtl_grp *tg) 31262/2>                        }








 hrt tgbioa> *tgbioa> *,t   ned int <tgwaitembs a href="block/blk-throttle.c#L156"93d7"L106" 3lass="line" name="L126">31262/25  se href="block/blk-throttle.c#L196" 3d="L136" 3lass="line" name="L136">31363/25        tgboola> *< href="+code=nr_wclass="sref">rb_wa>)
    href="+code=albio_daonbio_datgbioa> * r-1href="block/blk-throttle.c#L196" 3d="L126" 3lass="line" name="L136">3136tgbps_waitembstgiops_waitembstgmax_waitembs31363/252 -1href="block/blk-throttle.c#L196" 3d="L116" 3lass="line" name="L136">313633252        * Listn>
31363/29 * all   */ly weolt stateomache"  ofsgroup depends on first bioa>tn>
31363/29 *       }
ssqueu ininchedlgroup bio list. So ondlshouldanot/be callingistn>
31363/2>{ pan class="comment"> *       }
sshe fnfunctioncwith aodiffert">nbio ifchedsf e soohedr biosistn>
31363/22  pan class="comment"> *       }
ssqueu i.istn>
31363/338 pan class="comment"> * all   */< s*an>
31363/22        tdBUG_ONembst href="+code=tg" class="sref">tg), tgnr_queu ia>),[ href="+code=nr_wclass="sref">rb_wa>)
]<));tgbioa> *onbio_list_peekembst));tg), tgbio_listsa>),[ href="+code=nr_wclass="sref">rb_wa>)
]  r-1href="block/blk-throttle.c#L196" 3d="L146" 3lass="line" name="L146">31464/30
21464/301          hreclass="comment">/* LsIfhtg 
21464/322       tg), tgbpsa>),[ href="+code=nr_wclass="sref">rb_wa>)
]<== -1 ));tg), tgiopsa>),[ href="+code=nr_wclass="sref">rb_wa>)
]<== -1  se href="block/blk-throttle.c#L196" 3d="L116" 2lass="line" name="L146">21464/32me="L200">3">>>>>> hrtgwaitembs a href="block/blk-throttle.c#L156" 3d="L106" 2lass="line" name="L146">214644301               tgwaitembs21464/3>        21464/26          21464/32
21464/338        * Listn>
21464/22  pan class="comment"> * all   */< Ifhprevious sle_t expired, start a new ondlohedrwisesrenew/extenda>tn>
21565/32  pan class="comment"> *       }
s existing sle_t ck makdlsurd it  fnat least tn>
21565/301 pan class="comment"> *       }
s t <
21565/28
 *       }
s s*an>
215653252       tdtd)
tg) ,a href="+code=nr_wclass="sref">rb_wa>)
  a href="block/blk-throttle.c#L156  2d="L146" 2lass="line" name="L156">215654301               qutd)
tg) ,a href="+code=nr_wclass="sref">rb_wa>)
 r-1href="block/blk-throttle.c#L196 i2d="L146" 2lass="line" name="L156">21565/3>        21565/26                     a href="+code=tg"e *_befesfclass="sref">tgtg), thsle_trenda>),[ href="+code=nr_wclass="sref">rb_wa>)
]msjiffibya>)
 +  href="+code=thqu21565/33                        qutd)
tg) ,a href="+code=nr_wclass="sref">rb_wa>)
msjiffibya>)
 +  href="+code=thqu21565/338       21565/2>
21666/25        tgtd)
tg) ,a href="+code=nrbioclass="sref">tgbioa> *,t));tgbps_waitembs a href="block/blk-throttle.c#L156 i2d="L166" 2lass="line" name="L166">21666/301             ));tgtd)
tg) ,a href="+code=nrbioclass="sref">tgbioa> *,t));tgiops_waitembs)  se href="block/blk-throttle.c#L196" 2d="L166" 2lass="line" name="L166">216662301               tgwaitembs a href="block/blk-throttle.c#L156" 2d="L166" 2lass="line" name="L166">21666/32me="L200">3">>>>>>      }
s href="+code=thwaitclass="sref">tgwaitembs216664301               21666/31        21666/2>{    ref="block/blk-throttle.c#L126" 3d="L106" 2lass="line" name="L166">21666/33           href="+code=tgmax_waitclass="sref">tgmax_waitembstgmaxembst href="+code=tdbps_waitclass="sref">tgbps_waitembstgiops_waitembs r0 href="block/blk-throttle.c#L126  2d="L156" 2lass="line" name="L166">21666/338 -1href="block/blk-throttle.c#L196" 2d="L156" 2lass="line" name="L166">21666925        tgwaitembs a href="block/blk-throttle.c#L156" id="L176" 2lass="line" name="L176">21767/25        tgwaitembstgmax_waitembsr0 href="block/blk-throttle.c#L126"i2d="L166" 2lass="line" name="L176">21767/26
21767/322       tgtg), thsle_trenda>),[ href="+code=nr_wclass="sref">rb_wa>)
]msjiffibya>)
 +  href="+code=thmax_waitclass="sref">tgmax_waitembs  a href="block/blk-throttle.c#L156" 2d="L166" 2lass="line" name="L176">21767/32me="L200">3">>>>>> href="+code=thqutd)
tg) ,a href="+code=nr_wclass="sref">rb_wa>)
msjiffibya>)
 +  href="+code=thmax_waitclass="sref">tgmax_waitembs r0 href="block/blk-throttle.c#L126" 2d="L146" 2lass="line" name="L176">21767/32
21767/31        21767/26  21767/32
21767/338    c  href="+code=thtgtgblkcg_gq31   a href="+code=tgblk class="sref">tgblk a>)
thu6/a>    href="+code=tgbetgbe21767/319                                          inrb_wa>)
 a href="block/blk-throttle.c#L106" 2d="L186" 2lass="line" name="L186">21868025  se href="block/blk-throttle.c#L196" 2d="L186" 2lass="line" name="L186">21868/301          hrt throtl_grp *tg)     href="+code=alblk _tolagslass="sref">thblk _tolagembst href="+code=tdblk class="sref">tgblk a>)
 r0 href="block/blk-throttle.c#L126" id="L186" 2lass="line" name="L186">21868/252       tg *tgstats_cpua> *r0 href="block/blk-throttle.c#L126" 2d="L166" 2lass="line" name="L186">21868/32me="L200">   ned int <tgflagya> *r0 href="block/blk-throttle.c#L126" 2d="L146" 2lass="line" name="L186">21868/32
21868/265        */* Ifhper cpu stats e sonot/alckcat inyet, don't do any accounting.
s s*an>
21868/33             a href="+code=th< class="sref">tg), tgstats_cpua> *tgNULLa>)
 a href="block/blk-throttle.c#L106" 3d="L106" 2lass="line" name="L186">21868/33                   hrn 21868/338 -1href="block/blk-throttle.c#L196" id="L156" 2lass="line" name="L186">218689265        */*s*an>
21969/32  pan class="comment"> *       }
s Disabling seterrupty to provide mutual exclusioncbetwedn hwoa>tn>
21969/301 pan class="comment"> *       }
s wri21969/28
 *       }
ssop
21969/29 * sysssssss s*an>
21969/25        quckcal_irq_savtembst href="+code=tdflagyclass="sref">tgflagya> * r0 href="block/blk-throttle.c#L126" 2d="L196" 2lass="line" name="L196">21969/28
21969/26           href="+code=nrstats_cpuclass="sref">tgstats_cpua> *on_sis_cpu_pt_embst href="+code=tg" class="sref">tg), tgstats_cpua> * r0 href="block/blk-throttle.c#L126" 3d="L106" 2lass="line" name="L196">21969/32
21969/338       tdblk _rwstat_adoembst));tgstats_cpua> * tdservicdoa>) ,a href="+code=nr_wclass="sref">rb_wa>)
21969/22        tdblk _rwstat_adoembst));tgstats_cpua> * tdservicd_be) ,a href="+code=nr_wclass="sref">rb_wa>)
tgbe32070/30
32070/331       tgckcal_irq_restesfembst href="+code=tdflagyclass="sref">tgflagya> * r0 href="block/blk-throttle.c#L127" 3d="L207" 3lass="line" name="L207">32070/252 32n70/33
31070/27     c  href="+code=thtgthrotl_grp *tg) tgbioa> *tgbioa> * a href="block/blk-throttle.c#L107" 3d="L107" 3lass="line" name="L107">3107  se href="block/blk-throttle.c#L197" 3d="L107" 3lass="line" name="L107">31070/26           href="+code=nrboolclass="sref">tgboola> *< href="+code=nr_wclass="sref">rb_wa>)
    href="+code=albio_daonbio_datgbioa> * r-1href="block/blk-throttle.c#L197" 3d7"L107" 3lass="line" name="L197">31070/32
31070/338        * L Chargdchedlbio to hedlgroup s s*an>
31070/22        tg), tgbe),[ href="+code=nr_wclass="sref">rb_wa>)
]<+   href="+code=albioclass="sref">tgbioa> * qubi_sizta>)
r-1href="block/blk-throttle.c#L197" 3d="L117" 3lass="line" name="L117">31171/25        tg), tgio_dispa>),[ href="+code=nr_wclass="sref">rb_wa>)
]++r-1href="block/blk-throttle.c#L197" 3d="L207" 3lass="line" name="L117">31171/26
31171/252       tgtg_grto_blk embst href="+code=tg" class="sref">tg),),a href="+code=nrbioclass="sref">tgbioa> * qubi_sizta>)
,a href="+code=nrbioclass="sref">tgbioa> * rbbi__wa> * r-1href="block/blk-throttle.c#L197" 3d="L117" 3lass="line" name="L117">311713242 31171/32
31171/3>     c  href="+code=thththrotl_data *td)
throtl_grp *tg) 31171/26                        tgbioa> *tgbioa> * a href="block/blk-throttle.c#L107" 3d7"L107" 3lass="line" name="L117">31171/2>  se href="block/blk-throttle.c#L197"83d7"L107 c3lass="line" name="L117">31171/338       tgboola> *< href="+code=nr_wclass="sref">rb_wa>)
    href="+code=albio_daonbio_datgbioa> * r-1href="block/blk-throttle.c#L197"93d7"L107" 3lass="line" name="L117">31171/2>
31272/25        tdbio_list_adoembst));tg), tgbio_listsa>),[ href="+code=nr_wclass="sref">rb_wa>)
],a href="+code=nrbioclass="sref">tgbioa> * r-1href="block/blk-throttle.c#L197" 3d="L127" 3lass="line" name="L127">31272/301          hreclass="comment">/* LsTakdlaobio f="ert"ce on tg s s*an>
31272/252       tgblk _getembst href="+code=tg_grto_blk class="sref">tg_grto_blk embst href="+code=tg" class="sref">tg),) r-1href="block/blk-throttle.c#L197" 3d="L117" 3lass="line" name="L127">312723252       tg), tgnr_queu ia>),[ href="+code=nr_wclass="sref">rb_wa>)
]++r-1href="block/blk-throttle.c#L197" 3d="L107" 3lass="line" name="L127">31272/25        td)
 tgnr_queu ia>),[ href="+code=nr_wclass="sref">rb_wa>)
]++r-1href="block/blk-throttle.c#L197" 3d="L117" 3lass="line" name="L127">31272525        thtd)
tg)  r-1href="block/blk-throttle.c#L197" 3d="L117" 3lass="line" name="L127">31272/26  31272/32
31272/338    c  href="+code=thtg_grupdate_dispthrotl_data *td)
throtl_grp *tg)  a href="block/blk-throttle.c#L107"93d7"L107" 3lass="line" name="L127">31272/25  se href="block/blk-throttle.c#L197" 3d="L137" 3lass="line" name="L137">31373025        st   ned int <tgread_waita>)
   -1,c href="+code=slwritgwri)
   -1,c href="+code=slmin_waitclass="sref">tgmin_waita>)
   -1,c href="+code=sldisptgdisp31373/301          hrt tgbioa> *tgbioa> *r-1href="block/blk-throttle.c#L197" 3d="L117" 3lass="line" name="L137">31373/252 -1href="block/blk-throttle.c#L197" 3d="L117" 3lass="line" name="L137">313733252       tgbioa> *    href="+code=albio_list_peekptass="sref">onbio_list_peekembst));tg), tgbio_listsa>),[ href="+code=nrREADclass="sref">tgREADa>)
])  a href="block/blk-throttle.c#L157" 3d="L107" 3lass="line" name="L137">313734301               tgtd)
tg) ,a href="+code=nrbioclass="sref">tgbioa> *,t));tgread_waita>)
 r-1href="block/blk-throttle.c#L197" 3d="L117" 3lass="line" name="L137">31373/28
31373/33             at href="+code=tdbioclass="sref">tgbioa> *    href="+code=albio_list_peekptass="sref">onbio_list_peekembst));tg), tgbio_listsa>),[ href="+code=nrWRITEclass="sref">tgWRITEa>)
])  a href="block/blk-throttle.c#L157" 3d="L107" 3lass="line" name="L137">31373/33                   href="+code=tg< _may_dispatchclass="sref">tgtd)
tg) ,a href="+code=nrbioclass="sref">tgbioa> *,t));tgwri)
 r-1href="block/blk-throttle.c#L197" 3d="L127" 3lass="line" name="L137">31373/338 -1href="block/blk-throttle.c#L197" 3d="L137" 3lass="line" name="L137">31373/22        tgmin_waita>)
    href="+code=blminclass="sref">tgminembst href="+code=tgread_waitclass="sref">tgread_waita>)
,c href="+code=slwritgwri)
 r-1href="block/blk-throttle.c#L197" 3d="L147" 3lass="line" name="L147">31474/25        tgdispmsjiffibya>)
 +  href="+code=thmin_waitclass="sref">tgmin_waita>)
r-1href="block/blk-throttle.c#L197" 3d="L127" 2lass="line" name="L147">21474/26
21474/322       /* LsUpdateldispatch "e * s s*an>
214743252       thtd)
tg)  r-1href="block/blk-throttle.c#L197" 3d="L107" 2lass="line" name="L147">21474/25        tg), tgdisptgdisp21474525        thtd)
tg)  r-1href="block/blk-throttle.c#L197" 3d="L117" 2lass="line" name="L147">21474/26  21474/32
21474/338    c  href="+code=thtgthrotl_data *td)
throtl_grp *tg) 21474/319                                  href="+code=boboolclass="sref">tgboola> *< href="+code=nr_wclass="sref">rb_wa>)
tgbio_lista> *tgbla>)  a href="block/blk-throttle.c#L107" 2d="L157" 2lass="line" name="L157">21575025  se href="block/blk-throttle.c#L197" 3d="L127" 2lass="line" name="L157">21575/301          hrt tgbioa> *tgbioa> *r-1href="block/blk-throttle.c#L197" 2d="L157" 2lass="line" name="L157">21575/252 -1href="block/blk-throttle.c#L197" 3d="L117" 2lass="line" name="L157">215753252       tgbioa> *    href="+code=albio_list_popclass="sref">tgbio_list_popembst));tg), tgbio_listsa>),[ href="+code=nr_wclass="sref">rb_wa>)
] r-1href="block/blk-throttle.c#L197  2d="L147" 2lass="line" name="L157">21575/25        tg), tgnr_queu ia>),[ href="+code=nr_wclass="sref">rb_wa>)
]--r-1href="block/blk-throttle.c#L197  3d="L117" 2lass="line" name="L157">21575/265        */* Dropobio f="ert"ce on blk  s s*an>
21575/26           href="+code=nrblk _putclass="sref">tgblk _putembst href="+code=tg_grto_blk class="sref">tg_grto_blk embst href="+code=tg" class="sref">tg),) r-1href="block/blk-throttle.c#L197  3d="L107" 2lass="line" name="L157">21575/32
21575/338       tdBUG_ONembst href="+code=tg" class="sref">td)
 tgnr_queu ia>),[ href="+code=nr_wclass="sref">rb_wa>)
] 21575/22        td)
 tgnr_queu ia>),[ href="+code=nr_wclass="sref">rb_wa>)
]--r-1href="block/blk-throttle.c#L197" 2d="L167" 2lass="line" name="L167">21676/30
21676/331       tgtg) ,a href="+code=nrbioclass="sref">tgbioa> * r-1href="block/blk-throttle.c#L197" 2d="L167" 2lass="line" name="L167">21676/252       tdbio_list_adoembst href="+code=tgblclass="sref">tgbla>) ,a href="+code=nrbioclass="sref">tgbioa> * r-1href="block/blk-throttle.c#L197" 3d="L117" 2lass="line" name="L167">216763252       tgbioa> * rbbi__wa> * |   href="+code=alREQ_THROTTLEDclass="sref">tgREQ_THROTTLEDa> *r-1href="block/blk-throttle.c#L197" 2d="L147" 2lass="line" name="L167">21676/32
21676525        qutd)
tg) ,a href="+code=nr_wclass="sref">rb_wa>)
 r-1href="block/blk-throttle.c#L197" 2d="L167" 2lass="line" name="L167">21676/26  21676/32
21676/338    c ththrotl_data *td)
throtl_grp *tg) 21676/319                                  hrt tgbio_lista> *tgbla>)  a href="block/blk-throttle.c#L107" id="L177" 2lass="line" name="L177">21777025  se href="block/blk-throttle.c#L197"i2d="L167" 2lass="line" name="L177">21777/331       tgnr_readsa> *   0tgnr_wri *   0r-1href="block/blk-throttle.c#L197" 2d="L167" 2lass="line" name="L177">21777/322       tgmax_nr_readsa> *    href="+code=alrotl_grpthrotl_grp **3/4r-1href="block/blk-throttle.c#L197" 3d="L117" 2lass="line" name="L177">21777/32me="L200">   ned inintgmax_nr_wri *    href="+code=alrotl_grpthrotl_grp *<-a href="+code=tgmax_nr_readsclass="sref">tgmax_nr_readsa> *r-1href="block/blk-throttle.c#L197" 2d="L147" 2lass="line" name="L177">21777/25        tgbioa> *tgbioa> *r-1href="block/blk-throttle.c#L197" 2d="L177" 2lass="line" name="L177">21777/28
21777/26           hreclass="comment">/* LsTry to dispatch 75% READSoa;wo25% WRITES s s*an>
21777/32
21777/338       tgbioa> *    href="+code=albio_list_peekptass="sref">onbio_list_peekembst));tg), tgbio_listsa>),[ href="+code=nrREADclass="sref">tgREADa>)
]) a href="block/blk-throttle.c#L107" 2d="L157" 2lass="line" name="L177">21777/319                 ));tgtd)
tg) ,a href="+code=nrbioclass="sref">tgbioa> *,t href="+code=nrNULLclass="sref">tgNULLa>)
   se href="block/blk-throttle.c#L197" 2d="L187" 2lass="line" name="L187">21878/30
21878/301               tgtd)
tg) ,a href="+code=nrbio_daonbio_datgbioa> * ,a href="+code=nrblclass="sref">tgbla>)  r-1href="block/blk-throttle.c#L197" id="L187" 2lass="line" name="L187">218782301               tgnr_readsa> *++r-1href="block/blk-throttle.c#L197" 2d="L167" 2lass="line" name="L187">21878/33
218784301               tgnr_readsa> * tgmax_nr_readsa> * a href="block/blk-throttle.c#L107" 2d="L177" 2lass="line" name="L187">21878/265       21878/26          21878/32
21878/338       tgbioa> *    href="+code=albio_list_peekptass="sref">onbio_list_peekembst));tg), tgbio_listsa>),[ href="+code=nrWRITEclass="sref">tgWRITEa>)
]) a href="block/blk-throttle.c#L107" 2d="L157" 2lass="line" name="L187">21878/319                 ));tgtd)
tg) ,a href="+code=nrbioclass="sref">tgbioa> *,t href="+code=nrNULLclass="sref">tgNULLa>)
   se href="block/blk-throttle.c#L197" 2d="L197" 2lass="line" name="L197">21979/30
21979/301               tgtd)
tg) ,a href="+code=nrbio_daonbio_datgbioa> * ,a href="+code=nrblclass="sref">tgbla>)  r-1href="block/blk-throttle.c#L197" id="L187" 2lass="line" name="L197">219792301               tgnr_wri *++r-1href="block/blk-throttle.c#L197" 2d="L187" 2lass="line" name="L197">21979/33
219794301               tgnr_wri * tgmax_nr_wri * a href="block/blk-throttle.c#L107" 2d="L197" 2lass="line" name="L197">21979/265       21979/26          21979/32
21979/338       tgnr_readsa> * +  href="+code=thnr_writgnr_wri *r-1href="block/blk-throttle.c#L197" 2d="L157" 2lass="line" name="L197">21979/22  32080/30
32080/331    c tgthrotl_data *td)
tgbio_lista> *tgbla>)  a href="block/blk-throttle.c#L108" 3d="L208" 3lass="line" name="L208">32080/252 se href="block/blk-throttle.c#L198"33d="L208" 2lass="line" name="L198">32n80/32me="L200">   ned inintgnr_dispa> *   0r-1href="block/blk-throttle.c#L198" 3d="L108" 3lass="line" name="L108">31080/25        throtl_grp *tg) r-1href="block/blk-throttle.c#L198"53d="L108" 2lass="line" name="L198">31080525        tg *tgsta>)
   ));td)
 tg_grservicd_tre*a>) r-1href="block/blk-throttle.c#L198"63d="L108" 2lass="line" name="L198">31080/2>{    ref="block/blk-throttle.c#L128" 3d7"L108" 3lass="line" name="L198">31080/33          while a1  se href="block/blk-throttle.c#L198"83d7"L108" 2lass="line" name="L198">31080/338       tg)     href="+code=alrotl_grrb_firstclass="sref">tgrotl_grrb_firstembst href="+code=tdstclass="sref">tgsta>)
 r-1href="block/blk-throttle.c#L198"93d7"L108" 2lass="line" name="L198">31080/2>
31181/25        tg)  a href="block/blk-throttle.c#L108" 3d="L208" 3lass="line" name="L118">31181/301               31181/252 -1href="block/blk-throttle.c#L198" 3d="L118" 3lass="line" name="L118">31181/32me="L200">3">>>>>> hrtgmsjiffibya>)
tg)  tgdisp311814301               31181/28
31181/26                   href="+code=tg_stl_datequeu lagslass="sref">thtd)
tg)  r-1href="block/blk-throttle.c#L198" 3d7"L108" 3lass="line" name="L118">31181/32
31181/338       tgnr_dispa> * +   href="+code=alrotl_datispatchragslass="sref">thtd)
tg) ,a href="+code=nrblclass="sref">tgbla>)  r-1href="block/blk-throttle.c#L198"93d7"L108" 3lass="line" name="L118">31181/2>
31282/25        tg)  tgnr_queu ia>),[0] ||ahhref="+code=al" class="sref">tg), tgnr_queu ia>),[1]  se href="block/blk-throttle.c#L198" 3d="L128" 3lass="line" name="L128">31282/301               tg_grupdate_disptd)
tg)  r-1href="block/blk-throttle.c#L198" 3d="L118" 3lass="line" name="L128">312822301               thtd)
tg)  r-1href="block/blk-throttle.c#L198" 3d="L118" 3lass="line" name="L128">31282/32me="L200">3">>>>>>31282/32
31282/265       tgnr_dispa> * throtl_grquantuma> * a href="block/blk-throttle.c#L108" 3d="L118" 3lass="line" name="L128">31282/26                        31282/33          31282/338 -1href="block/blk-throttle.c#L198"93d7"L108" 3lass="line" name="L128">31282/319          hrn tgnr_dispa> *r-1href="block/blk-throttle.c#L198" 3d="L138" 3lass="line" name="L138">31383025  31383/26
31383/252    c  href="+code=thquthrotl_data *td)
 a href="block/blk-throttle.c#L108" 3d="L118" 3lass="line" name="L138">313833252 se href="block/blk-throttle.c#L198" 3d="L108" 3lass="line" name="L138">31383/25        tdrequest_queu a> *tgqa>)     href="+code=alr class="sref">td)
 tdqueu a> *r-1href="block/blk-throttle.c#L198" 3d="L118" 3lass="line" name="L138">31383525        tgblkcg_gq31   a href="+code=tgblk class="sref">tgblk a>)
tgna> *r-1href="block/blk-throttle.c#L198" 3d="L118" 3lass="line" name="L138">31383/2>{    ref="block/blk-throttle.c#L128" 3d="L108" 3lass="line" name="L138">31383/33             a!hhref="+code=al" class="sref">td)
 tdnemitsrchangt a>)
 a href="block/blk-throttle.c#L108"83d7"L108" 3lass="line" name="L138">31383/338       31383/2>
31484/25        tgxch embst));td)
 tdnemitsrchangt a>)
tdfals a>)  r-1href="block/blk-throttle.c#L198" 3d="L128" 2lass="line" name="L148">21484/26
21484/252       thtd)
"nemits changt "s*an>
< r-1href="block/blk-throttle.c#L198" 3d="L118" 2lass="line" name="L148">21484/33
21484/25        tdlist_for_eachrentry_saf embst href="+code=tdblk class="sref">tgblk a>)
tgna> *,t));tgqa>)  tgblk _lista>)
tgq_ne=ta>)   se href="block/blk-throttle.c#L198" 3d="L118" 2lass="line" name="L148">21484/265       throtl_grp *tg)     href="+code=alblk _tolagslass="sref">thblk _tolagembst href="+code=tdblk class="sref">tgblk a>)
 r0 href="block/blk-throttle.c#L128" 3d="L118" 2lass="line" name="L148">21484/2>{    ref="block/blk-throttle.c#L128" 3d="L108" 2lass="line" name="L148">21484/33                     a!hhref="+code=al"gclass="sref">tg)  tdnemitsrchangt a>)
 a href="block/blk-throttle.c#L108" 3d="L128" 2lass="line" name="L148">21484/338       21484/2>
21585/25        tgxch embst));tg)  tdnemitsrchangt a>)
tdfals a>)   a href="block/blk-throttle.c#L108" 3d="L128" 2lass="line" name="L158">21585/301               21585/252 -1href="block/blk-throttle.c#L198" 3d="L118" 2lass="line" name="L158">21585/32me="L200">3">>>>>> href="+code=bothtd)
tg) ,a hreclass="co hring">"nemit changt rbps=%llu wbps=%llu"s*an>
<-1href="block/blk-throttle.c#L198" 3d="L108" 2lass="line" name="L158">215854301               " riops=%u wiops=%u"s*an>
<tg)  tgbpsa>),[ href="+code=nrREADclass="sref">tgREADa>)
]tg)  tgbpsa>),[ href="+code=nrWRITEclass="sref">tgWRITEa>)
]21585/265       tg)  tgiopsa>),[ href="+code=nrREADclass="sref">tgREADa>)
]tg)  tgiopsa>),[ href="+code=nrWRITEclass="sref">tgWRITEa>)
])r0 href="block/blk-throttle.c#L128" 3d="L118" 2lass="line" name="L158">21585/2>{    ref="block/blk-throttle.c#L128  3d="L108" 2lass="line" name="L158">21585/33                   an class="comment"> */*s*an>
21585/338 pan class="comment"> * syssssssssssssss* Restart hedlsle_tsnfes both READoa;woWRITES. Its*an>
21585/22  pan class="comment"> * syssssssssssssss* might happdn heat algroup's nemit e sodroppdds*an>
21686/32  pan class="comment"> *       }
ssssssss* suddenlyoa;wowe don't want to account rect">lys*an>
21686/301 pan class="comment"> *       }
ssssssss* tispatched IO with new low rates*an>
21686/28
 *       }
ssssssss* s*an>
21686/32me="L200">3">>>>>> href="+code=boqutd)
tg) ,a0 r-1href="block/blk-throttle.c#L198" 2d="L148" 2lass="line" name="L168">216864301               qutd)
tg) ,a1 r0 href="block/blk-throttle.c#L128" 2d="L168" 2lass="line" name="L168">21686/28
21686/26                     a href="+code=tg"otl_grtg_on_r_ptass="sref">on_stl_grtg_on_r_embst href="+code=tg" class="sref">tg),) a href="block/blk-throttle.c#L178" 3d="L108" 2lass="line" name="L168">21686/33                        tg_grupdate_disptd)
tg)  r-1href="block/blk-throttle.c#L198  2d="L158" 2lass="line" name="L168">21686/338       21686/22  21787/30
21787/301 pan class="comment"> */* Dispatch "ottle.cdobios. Shouldobe cal.cdowithout queu  ck/b held.s* s*an>
21787/252    c throtl_datispatchembst hrt tdrequest_queu a> *tgqa>)  a href="block/blk-throttle.c#L178" 3d="L118" 2lass="line" name="L178">217873252 se href="block/blk-throttle.c#L198" 2d="L148" 2lass="line" name="L178">21787/25        throtl_data *td)
    href="+code=alqclass="sref">tgqa>)  td)
r-1href="block/blk-throttle.c#L198" 2d="L178" 2lass="line" name="L178">21787/265       tgnr_dispa> *   0r-1href="block/blk-throttle.c#L198" 2d="L168" 2lass="line" name="L178">21787/26           hrt tgbio_lista> *< href="+code=tgbio_list_on_   ckptass="sref">onbio_list_on_   cka>)
r-1href="block/blk-throttle.c#L198" 3d="L108" 2lass="line" name="L178">21787726           hrt onbio31   a href="+code=tgbioclass="sref">tgbioa> *r-1href="block/blk-throttle.c#L198" 2d="L168" 2lass="line" name="L178">21787/338       tgblk_plu a> *< href="+code=tgplu class="sref">tgplu a> *r-1href="block/blk-throttle.c#L198" 2d="L158" 2lass="line" name="L178">21787/2>
21888/25        tgspin_ck/b_irqembst href="+code=tgqclass="sref">tgqa>)  tdqueu lck/ba>)  r-1href="block/blk-throttle.c#L198" 2d="L188" 2lass="line" name="L188">21888/26
21888/252       qutd)
 r-1href="block/blk-throttle.c#L198" 3d="L118" 2lass="line" name="L188">21888/33
218884301            a!hhref="+code=al"otal_nr_queu iclass="sref">tg"otal_nr_queu iembst href="+code=td" class="sref">td)
  a href="block/blk-throttle.c#L178" 2d="L178" 2lass="line" name="L188">21888/265       tgouta>)
r-1href="block/blk-throttle.c#L198" 2d="L168" 2lass="line" name="L188">21888/2>{    ref="block/blk-throttle.c#L128" 3d="L108" 2lass="line" name="L188">218887252       tgbio_list_initembst));onbio_list_on_   cka>)
 r-1href="block/blk-throttle.c#L198" 2d="L168" 2lass="line" name="L188">21888/338 -1href="block/blk-throttle.c#L198" 2d="L158" 2lass="line" name="L188">21888/22        thtd)
"dispatch nr_queu i=%u read=%u wri
<<-1href="block/blk-throttle.c#L198" 2d="L198" 2lass="line" name="L198">21989/25        tg"otal_nr_queu iembst href="+code=td" class="sref">td)
 td)
 tgnr_queu ia>),[ href="+code=nrREADclass="sref">tgREADa>)
]<-1href="block/blk-throttle.c#L198" 2d="L188" 2lass="line" name="L198">21989/301               td)
 tgnr_queu ia>),[ href="+code=nrWRITEclass="sref">tgWRITEa>)
])r0 href="block/blk-throttle.c#L128" id="L188" 2lass="line" name="L198">21989/252 -1href="block/blk-throttle.c#L198" 2d="L188" 2lass="line" name="L198">219893252       tgnr_dispa> *    href="+code=tgtgtd)
onbio_list_on_   cka>)
 r-1href="block/blk-throttle.c#L198" 2d="L198" 2lass="line" name="L198">21989/32
21989/265       tgnr_dispa> * a href="block/blk-throttle.c#L178" 2d="L198" 2lass="line" name="L198">21989/26                   href="+code=tg_stl_dalogslass="sref">thtd)
"bios tisp=%u"s*an>
<tgnr_dispa> * r-1href="block/blk-throttle.c#L198"="line" n" 2lass="line" name="L198979/38="+code=tg" clas12 r 4k-thr8ttle.89L107" 2d="L157" 2lass="line""+code=tan cule_nexf">tgnr_dispa> *    href="+code=tan cule_nexf">tgnr_diangtclass="sref">qu21888/265       21979/29  21888/25        de=bospin_ck/b_irqclass="sref">tgspin_ck/b_irqembst href="+code=tgqclass="sref">tgqa>)  tdqu98">32080/90
tgbla9)  a href="block/blk-thr9ttle.90L197" 2d="L127" 2lass="line" name="L1. Shouldobe cal.cdowithout queu  ck/b h9">32080/292 se href="block/blk-thr9ttle.9#L198" 2d="L158" 2lass="line" name="L* Ifss="c301 pan clsome   * 9 0r-1href="block/blk-thr9ttle.9#L198" 2d="L158" 2lass="line" name="L* is="di21474/322      }
ssssssss* tispatched IO with new l9d5spa> * 9 
"bios tisp=%u"s*an>
<t98">31080/9>{    ref="block/blk-thr9ttle.90L128  3d="L108" 2lass=="line" name="L178tg21787/338       21de=bobio_list_initclass="lu class="sref">tgblk_plu acode=nrqueu lck/bclass="sref">tdqu988>31080/9>ode=tg" clas12 r 4k-thr9ttle.9#L198"83d7"L108" 2lass8" 3lss="line" name="L187">21878/338       tgbioa> *    href="+code=albio_list_popclass=g" class="sref">td)
tgsta>9
 r-1href="block/blk-thr9ttle.90L107" 2d="L157" 2lass="line" _list_popclass=generic_make_ )
tgbla>) ,a href="+code=nrbioclass="sre98">31080/9>
21787/338       21de=bobio_list_initclass="lu class="sref">tgblk_plu acode=nrqueu lck/bclass="sref">tdqu9ef">tg31282/319          hrn 98">31181/952 -1href="block/blk-thr9ttle.9#L198" 2d="L158" 2lass="line" name="L169aispa> * 9s) a href="block/blk-thr9ttle.91L198" 2d="L198" 2lass="line" name="L19ll   */br9akr-1href="block/blk-thr9ttle.9#L198"18" 3lass="line" nama hr"+code=wortd)
)
31181/98
t9f">tg9  r-1href="block/blk-thr9ttle.91L198" 3d="L108" 2lass="line" name="L178">21787/25        throtl_data *throtnamealocr_ofde=bospin_ck/b_irqclwortd)
 *31181/92
98">tgsta>9  r-1href="block/blk-thr9ttle.919198" 3d="L108" 2lass="line" name="L138">31383/25        tdrequest_queu a> *tgqa>)     href="+code=alr class="sref">td)
 31181/9>
21787/252    c tdrequest_qutg9  r-1href="block/blk-thr9ttle.92L198" 3d="L118" 2lass="line" name="L1900">3">>>9>>31282/92
31181/9 * a href="block/blk-thr9ttle.9#L108"7" 2lass="line""+code=tan cule_delayed=wortd)
21787/25        throtl_data,78" 2lass=longpatchclass="srefdelayss="sref">throtdelaygrot iembst href="+code=td" class="sr9     t933       9  31282/938 -1href="block/blk-thr9ttle.929198" 3d="L108" 2lass="line" name="delayed=wortd)
)
 *tgsta>)
   ));31383029  td31383/96
9/25        tg"otal_nr_queuode=nrnr_queu iclass"L138">31383/33             a!hhref="+code=al" class="sref">td)
 t9ef">td313833292 se href="block/blk-thr9ttle.93L198" 2d="L158" 2lass="line" name="LLLLLLLLL* We5/22  panve a wort1tan culed"linbe executss="l fu 3le.. Shouldobe cal.cdowithout queu  ck/b h9"">31282/9 *r-1href="block/blk-thr9ttle.93L198" 2d="L158" 2lass="line" name="LLLLLLLLL* Cancelss="comnd tan cule ammentone.. Shouldobe cal.cdowithout queu  ck/b h9"">31181/9 *r-1href="block/blk-thr9ttle.9#L198" 2d="L158" 2lass="line" name="L168">21686/28
 *       }
sss98">31383/9>{    ref="block/blk-thr9ttle.93L128  3d="L108" 2lass=="line" name="__cancel_delayed=wortd)
)
tdk"+coded=wort=alr l_grlog_nr_queu iclasdwortd)
throtdelaygrot 31282/9 21989/26                   href="+code=tg_stl_dalogslass="sref">th31383/9>
throtdelaygrotlog_nr_queu iclasclass="sref">tg9  r-1href="block/blk-thr9ttle.94L108" 3d="L20 2d="L158" 2lass="line" name="L1698">21484/96
21484/93
thtdseq_fil grotde=tg_stl_data" csfss="sref">throtsf"+co),[ href="+code=nrREADclass="sref9q_ne=ta>)9  se href="block/blk-thr9ttle.9#L198" 3d="L118" 2lassssssssssssssssss8" 2lass="line" name="L17g_policy21787/25        thoffss="sref">throtoffgrot iembst href="+code=td" class="sr9>tgblk a>9
 r0 href="block/blk-thr9ttle.94L178"ref="+code=tgq_ne=tclass="sref">t98">21484/9>{    ref="block/blk-thr9ttle.94L198" 3d="L108" 2lass="line" name="L178">2       throtl_grp *tgththth9aaaaconti9uer0 href="block/blk-thr9ttle.94L107" 2d="L15"line" name="L178">i    throtnpu98">21484/9>
throtallist_fopossible_cpuf="+code=tg_stl_dalocpuss="sref">throtnput9aaaaconti9uer0 href="block/blk-thr9ttle.95L198" 3d="L118" 3lass8" 2lass="line" name="Lg=tgbref=puss="sref">throtLg=tgbref=pugrotde=tg_stl_data" cscss="sref">throtsc_grp *tgREADa>)
]throttgbref=pugrotlog_nr_queu iclascpuss="sref">throtnpu21585/952 -1href="block/blk-thr9ttle.95L198" 3d="L118" 2lass="line" name="L19"s*a9>
<-1href="block/blk-thr9ttle.9#L198" 3d="L108" 2lassembst href="+codm      *ththrotsc_grp<="+code=thnr_readoffss="sref">throtoffgrot )9
]i    BLKG_RWSTAT_NR    i    ththth21484/9>{    ref="block/blk-thr9ttle.9#L128  3d="L10 2d="L158" 2lass="line" name="L169"> */*s*a9>
th<__L17g_prfill_rw 3d=f="+code=tg_stl_dalosfss="sref">throtsf"+co)a> *th *th
lys*a9>
thlass="sref">thgrotde=tg_stl_data" cc       tdcftyp grotde=tg_stl_data" ccf=lass="sref">th
tdseq_fil grotde=tg_stl_data" csfss="sref">throtsf"+co iembst href="+code=td" class="sr9tg) ,90 r-1href="block/blk-thr9ttle.9#L198"ref="+code=tgq_ne=tclass="sref">t9tg) ,91 r0 href="block/blk-thr9ttle.96L198" 3d="L118" 3lass="line" name="L138"lass="sref">thth *g" cL138"lass="sref">thg" cL138"f="+code=tg_stl_daloc       tg9,) a href="block/blk-thr9ttle.96L128" 3d="L108" 2lass="line"  hrt pr68"_L17gg" class="sref">t hrt pr68"_L17ggf="+code=tg_stl_dalosfss="sref">throtsf"+co)a> *ththt hrt policy2hrt  */*s*a9  r-1href="block/blk-thr9ttle.96L108"83d7"L108 c3lass 2d="L157"=tg_stl_data" ccf=lass="sref">th)
]tdpr6vat grote *embst href="+corr class="sref">tdorr f="+ tgnr9">21686/29  21787/90
tdseq_fil grotde=tg_stl_data" csfss="sref">throtsf"+co)s8" 2lass="line" name="L17g_policy21787/25        thoffss="sref">throtoffgrot iembst href="+code=td" class="sr9">217873292 se href="block/blk-thr9ttle.97L198"ref="+code=tgq_ne=tclass="sref">t9ef">td2       throtl_grp *tgth * 9 0r-1href="block/blk-thr9ttle.9#L198" 2d="L16g_nr_queu iclasu0 r-1href="e *_beu#L198" ode=tg_stl_dalovr-1href="e *_bev_grpthrotl_grp<="+code=thnr_readoffss="sref">throtoffgrot tgbioa9 *r-1href="block/blk-thr9ttle.9#L198" 2d="L16="line" name="L168"vr-1href="e *_bev_grptglagembst href=line" name="L178">i    throtsf"+co)a> *thtdqueu 9ck/ba>)  r-1href="block/9lk-th9ottle.97L198" 3d="L138" 3lass="line" namme="L188"921888/26
)
 r-1href="block/9lk-th9ottle.9#L118" 2d="L1g_nr_queu iclasu0 r-1href="e *_beu#L198" ode=tg_stl_dalogg_prfilli="+codcn=lass="srtl_dalogg_prfilli="onf_u0 grotl_datispatchclass="srefseq_fil class="sref">tdseq_fil grotde=tg_stl_data" csfss="sref">throtsf"+co)s8" 2lass="line" name="L17g_policy21787/25        thoffss="sref">throtoffgrot iembst href="+code=td" class="sref"9td)
  a href="block/9lk-th9ottle.97L198"ref="+code=tgq_ne=tclass="sss="sref"9tgouta>)
r-1href="block/9lk-th98ttle.c#L198" 2d="L168" 2lass="line" name="L178">2       throtl_grp *tgth{    ref="block/9lk-th9ottle.c#L128" 2d="L178" 2lass="line" name=tl_dalovr-1href="e *_bev_g2d="L178" 2la#L198" *)c(18" 3*)=tg_stl_data" cclass="sref">throtl_grp<="+code=thnr_readoffss="sref">throtoffgrot 
<<-1href="block/9lk-th9ottle.c#L198" 2d="L198e=tg_stl_da_roclass="sref">tglagembst href="sref">t9READa>)
]<-1href="block/9lk-th9ottle.c#L198" ="sre clasconf_u0 grotl_datispatchcltl_dalou0 r-1href=l_datispatchcltl__rw 3d=f="+code=tg_stl_dalosfss="sref">throtsf"+co)a> *thtgW9ITEa>)
])r0 href="block/9lk-th99ttle.94L198" 2d="L158" 2lass="line" namme="L198"921989/252 -1href="block/9lk-th99ttle.95L198" 3d="L118" 2lass="line" na_list_on_9  cka>)
 r-1href="block/9lk-th99ttle.9#L168" 2d="L168" 2lass="line" namg_rfill_conf_u0 r-1href="e *_namg_rfill_c_rw 3d=grotl_datispatchclass="srefcent">lass="sref">thgrotde=tg_stl_data" cc       tdcftyp grotde=tg_stl_data" ccf=lass="sref">thtdseq_fil grotde=tg_stl_data" csfss="sref">throtsf"+co iembst href="+code=td" clasref">tgn9_dispa> * a href="block/9lk-th99ttle.94L178"ref="+code=tgq_ne=tclass="sref">tgnr9dispa> * r-1href="block/9lk-th99ttle.96L128" 3d="L108" 2lass="line"  hrt pr68"_L17gg" class="sref">t hrt pr68"_L17ggf="+code=tg_stl_dalosfss="sref">throtsf"+co)a> *g" cL138"lass="sref">thg" cL138"f="+code=tg_stl_daloc       t hrt policy2hrt d="L157"=tg_stl_data" ccf=lass="sref">th)
]tdpr6vat grote *embst hgt class="sref">tdnemitsrchangt a>)
10ss="ya8 *r-1href="block/10ss=>10sstle.94L/pre>3las="+code=tgnr_dispclass="sre10s1="sr9">10sEADa>)
]<-1href="block/10sEA>10sttle.97L198" 2d="L188" 2lass="line" n10s2="sr9">10sTEa>)
])r0 href="block/10sTE>10sttle.96L118" 2d="L168" 2lass="line" namg_rfilli="+codcn=lass="srtl_danamg_rfilli="_rw 3d=grotl_datispatchclass="srefcent">lass="sref">thgrotde=tg_stl_data" cc       tdcftyp grotde=tg_stl_data" ccf=lass="sref">th10s1989/252 -1href="block/10s19>10sttle.97L118" 3d="L118" 2lass3d="L11" 3lass8" 2lass="line" name="seq_fil class="sref">tdseq_fil grotde=tg_stl_data" csfss="sref">throtsf"+co iembst href="+code=td" cl10s4="sr9">10s cka>)
 r-1href="block/10s c>10sttle.97L198"ref="+code=tgq_ne=tclass="10s5="sr9">10s1989/32
t hrt pr68"_L17ggf="+code=tg_stl_dalosfss="sref">throtsf"+co)a> *g" cL138"lass="sref">thg" cL138"f="+code=tg_stl_daloc       10sdispa> * a href="block/10sdi>10sttle.95L108" 3d="L118" 3lass=2d=grottchembst href="+code=tg hrt policy2hrt t hrt policy2hrt d="L157"=tg_stl_data" ccf=lass="sref">th)
]tdpr6vat grote *embst hgt class="sref">tdnemitsrchangt a>)
10sispa> * r-1href="block/10sis>10s7tle.96L198"93d7"L108" 3las="+code=tgnr_dispclass="sre10s8="sr9">10s/38="+code=tg" clas12 r10s/3>10s8tle.94L198" 2d="L158" 2lass="line" na10s9="sr9">10si1031080/9>
lass="sref">thgrotde=tg_stl_data" cc       tdcftyp grotde=tg_stl_data" ccf=lass="sref">th10>tg10aaaabr9akr-1href="block/10aaa>1032tle.97L198"ref="+code=tgq_ne=tclass="1013="sr9">1031181/952 -1href="block/10311>103ttle.97L118" 3d="L118" 3lass="line" name="L138"lass="sref">thth *g" cL138"lass="sref">thg" cL138"f="+code=tg_stl_daloc       10pa> * 9s) a href="block/10pa>>103ttle.c#L198" 2d="L148" 2lass="line"datisprfilctxcy21787/25        10  */br9akr-1href="block/10  *>103ttle.97L198" 3d="L118" 3lass="line" name="L178">2       thrref="+ 1031181/98
21787/25        throref="+ 10tg9  r-1href="block/10tg<>1037tle.96L198"9 2d="L168" 2lass="l3d7ta" class="sref3d7throref="+ 1031181/92
10tgsta>9  r-1href="block/10tgs>103ttle.c#L198" 2d="L158" 2lass3d7ta" class="sref3d7throhm  *tgf="+prfilprei cL138"f="+code=tg_sef="+coL138"lass="sref">tht hrt policy2hrt d="L157"=tg_stl_dui+codcn=lass="srduionf_cc=grottchembst href="ctxcy21787/25     ctx*_behref="+ 1031181/9>
10a>),[19  se href="block/10a>)>103ttle.c#L198" 2d="L188="sre clasconf_u0 grot3d7ta" class="sref3d7throref="+ 10aaaabr9  r-1href="block/10aaa>103ttle.c#L128" id="L188" 2lass="line" n1033="sr9">10tg9  r-1href="block/10tg<>103ttle.c#L198" 2d="L188" 2lassl_da_roclass="sref">throtl_grp *10>3">>>9>>1034tle.c#L198" 2d="L188" 2lasslata" class="sref">throtl_data *tgqa>)     href=dg" class="srefass="sref">td)
    href="+code=alqclass="sref">tgqa>)  1031282/92
1031181/9 * a href="block/10311>103ttle.90L177" 3d="L148" 2lass="linetxcy21787/25     ctx*_behm 10  103ttle.93L128  3d="L108" 2lass=="line"etxcy21787/25     ctx*_behm tgqa>)  10      9  1031282/938 -1href="block/10312>103ttle.c#L198" 2d="L16="line" nameisll_conf_u0 r-1href=isll_cthrotsf"+co iembst href="+code=td" cl103s="sr9">10_dispa9 *r-1href="block/10_di>10_dtle.93L128  3d="L108_grpthrotl_grp<="+code=thdata" ccf=lass="sref">th)
]tdpr6v)tl_data *tgqa>)  101383029  tgqa>)  1031383/96
throtl_grp<="+code=thdata" ccf=lass="sref">th)
]tdpr6v)tl_data *tgqa>)  10>td1013833292 se href="block/10138>10_4tle.c#L198" 2d="L1672d="L158" 2lass="XXX:pan class="comnetan he following deferrtane=bo21686/28
 *     10_5="sr9">1031282/9 *r-1href="block/10312>10_5tle.96L128" 3d="L108" 2lassxchata" cclass="srexcha cL13grotdta> *tgREADa>)
]td)
 tdorr f="+ 1031181/9 *r-1href="block/10311>10_ttle.9#L198" 2d="L16g_nr_quexchata" cclass="srexcha cL13grotdta> *31383/33             a!hhref="+code=al" class="sref">td)
 tdorr f="+ 1031383/9>{    ref="block/10313>10_ttle.96L128" 3d="L108" 2lass   )
 *31383/33ref">td)
10angt a9)
 a href="block/10ang>10_ttle.c#L198" 2d="L168" 2lass="line" n1039="sr9">1031282/9 tgf="+prfil   *1031383/9>
10als a>9  r-1href="block/10als>103ttle.97L198" 3d="L138" 3lass="line" na1032="sr9">1021484/96
10;s*an>9< r-1href="block/10;s*>103ttle.9#L118" 2d="L168" 2lass="linesemg_rfill_conf_u0 r-1href="e semg_rfill_c_rw 3d=grotl_datispatchclass="srefcent">lass="sref">thgrotde=tg_stl_data" cc       tdcftyp grotde=tg_stl_data" ccf=lass="sref">th1021484/93
10e=ta>)9  se href="block/10e=t>103ttle.97L198"ref="+code=tgq_ne=tclass="1036="sr9">10blk a>9
 r0 href="block/10blk>1036tle.96L198"93d7"L10"L168" 2lass="linesemg_rfi+codcn=lass="srtl_semg_rfi_rw 3>grotde=tg_stl_data" cc       thtdorr f="+ 1021484/9>{    ref="block/10214>1037tle.97L198" 3d="L138" 3lass="line" na1038="sr9">10angt a9)
 a href="block/10ang>103ttle.c#L198" 2d="L168" 2lass="line" n1049="sr9">10aconti9uer0 href="block/10aco>1039tle.9#L118" 2d="L168" 2lass="linesemg_rfilli="+codcn=lass="srtl_semg_rfilli="_rw 3d=grotl_datispatchclass="srefcent">lass="sref">thgrotde=tg_stl_data" cc       tdcftyp grotde=tg_stl_data" ccf=lass="sref">th1021484/9>
10als a>9   a href="block/10als>1021tle.97L198"ref="+code=tgq_ne=tclass="1052="sr9">10aconti9uer0 href="block/10aco>102ttle.91L197" 2d="L128" 3lass="line"inesemg_rfi+codcn=lass="srtl_semg_rfi_rw 3>grotde=tg_stl_data" cc       thtdnemitsrchangt a>)
1021585/952 -1href="block/10215>102ttle.9#L198" 2d="L158" 2lass="line" na1024="sr9">10ot;s*a9>
<-1href="block/10ot;>102ttle.91L198" 2d="L198" 2lass="line" n1025="sr9">10e=ta>)9
]tdcfty3d="L108" 2lass   tds8"_L17gg" class=   tds8dcft[]3d=191L198" 2d="L198" 2lass="line" n1026="sr9">10ITEa>)9])r0 href="block/10ITE>1026tle.96L198"9191L198" 2d="L198" 2lass="line" n1027="sr9">1021484/9>{    ref="block/10214>102ttle.93L128  3d="L108hm 10*/*s*a9>
tdpr6vtl_data *2       tgnr_q)r_queu i=%u read=%u wri10 Its*a9>
 *10pdds*a9>
 *10>lys*a9>
10ates*a9>
10s* s*a9>
10/a>) ,90 r-1href="block/10/a>>10pttle.9#L198" 3d="L108hm 10/a>) ,91 r0 href="block/10/a>>10pttle.9#L198" 3d="L118hm tdpr6vtl_data *2       tgnr_queur_queu i=%u read=%u wri10ITEa>)98
 *10tg9,) a href="block/10tg<>10pttle.93L128  3d="L108hm  *10*/*s*a9  r-1href="block/10*/*>10pttle.96L108"83d7"L108hm 10 Its*a9101686/29  1021787/90
10s* s*a9>
tdpr6vtl_data *2       tgnr_q)r_queu i=%u read=%u wri10s* s*a9)  a href="block/10s* >101ttle.97L118" 3d="L118hm  *1017873292 se href="block/10178>101ttle.9#L198" 3d="L108hm  *10>td10pa> * 9 0r-1href="block/10pa>>1016tle.91L197" }r_queu i=%u read=%u wri10   cka9)
r-1href="block/10   >1017tle.96L198"9191L198" 2d="L198" 2lass="line" n1078="sr9">10tgbioa9 *r-1href="block/10tgb>101ttle.96L108"83d7"L108hm 10 class= *r-1href="block/10 cl>101rottl9t tdpr6vtl_data *2       tgnr_queur_queu i=%u read=%u wri10e="L178">i     *10ck/ba>)  r-1href="block/10ck/>10ettle.c#L198" 2d="L188hm  *1021888/26
10td)
 r-1href="block/10td<>10e3tle.91L197" }r_queu i=%u read=%u wri1021888/33
10td)
  a href="block/10td<>10ettle.9#L198" 3d="L118hm 10tgouta>)
r-1href="block/10tgo>10ettle.95L108" 3d="L118hm tdpr6vtl_data *throtLg=tgbrefc=="L157"=tg_stl_service_bytesbref=puss="srefservice_byteschangr_queu i=%u read=%u wri1021888/2>{    ref="block/10218>10ettle.93L128  3d="L108hm  *th10  cka>)
 r-1href="block/10  c>10e8tle.91L197" }r_queu i=%u read=%u wri1021888/338 -1href="block/10218>10e9tle.96L198"9191L198" 2d="L198" 2lass="line" n109s="sr9">10t;s*an>
<<-1href="block/10t;s>10t;tle.9#L198" 3d="L118hm 10READa>)
]<-1href="block/10REA>10tttle.c#L198" 2d="L188hm tdpr6vtl_data *throtLg=tgbrefc=="L157"=tg_stl_service iclass"L138">31service changr_queu i=%u read=%u wri10ITEa>)
])r0 href="block/10ITE>10tttle.95L198" 3d="L118hm  *th1021989/252 -1href="block/10219>10t3tle.91L197" }r_queu i=%u read=%u wri10  cka>)
 r-1href="block/10  c>10t4tle.96L198"91 }198"92d="L1672d="L158" 2lass="termin>td 68">21686/28
 *     1095="sr9">1021989/32
10_dispa> * a href="block/10_di>10tttle.96L198" 2d="L168" 2lass="line" n10t7="sr9">10dispa> * r-1href="block/10dis>10t7tle.9#L108"8" *)_datispatchclas name="shutdown_w=dg" class="sref name="shutdown_w=_rw 3d=grotl_datispatchclasrequest_ed=wort=alr class="srequest_ed=wodcftyp grotde=tg_stl_=dg" class="srefass="tsf"+co iembst href="+code=td" cl1098="sr9">109/38="+code=tg" clas12 r109/3>10t8tle.97L198"ref="+code=tgq_ne=tclass="1099="sr9">10ri21787/25        throtl_data *td)
    href="+code=alqclass="sref">tgqa>)  11ss="ya8 *r-1href="block/11ss=>110ttle.95L148" id="L178" 2lass="line" n1101="sr9">11sEADa>)
]<-1href="block/11sEA>110ttle.95L187 i2d="L167" 2lass);31383/33             a!hhref   )
11sTEa>)
])r0 href="block/11sTE>110ttle.94L198" 2d="L158" 2lass="line" na1103="sr9">11s1989/252 -1href="block/11s19>110ttle.95L198" 3d="L118" 2lass="line" n11s4="sr9">11s cka>)
 r-1href="block/11s c>110ttle.9#L168"3d="L118" 3lass="line" name">t hrt"_L17gg" class="name">t hrtdcfty3d="L108" 2lass+code=tg hrt policy2hrt t hrt policy2hrt3d=191L198" 2d="L198" 2lass="line" n11s5="sr9">11s1989/32
2       11sdispa> * a href="block/11sdi>11sttle.95L108" hm tsbref=puss="sreffef">tstle.95L198" 3d="L118= 3d="L108" 2lass   tds8"_L17gg" class=   tds8dcftr_queu i=%u read=%u wri11sispa> * r-1href="block/11sis>110ttle.97L198"="line" n" 2lass="line" n1108="sr9">11s/38="+code=tg" clas12 r11s/3>1108tle.96L128" hm 11si1131080/9>
11>tg11aaaabr9akr-1href="block/11aaa>111ttle.c#L128" id="L188" 2lass="line" n1113="sr9">1131181/952 -1href="block/11311>113ttle.3d="L108" 2lass+ooy2hrt 11pa> * 9s) a href="block/11pa>>111ttle.97L198"ref="+code=tgq_ne=tclass="1135="sr9">11  */br9akr-1href="block/11  *>113ttle.97L198" 3d="L118" 3lass="line" name="L178">21787/25        throtl_data *td)
    href="+code=alqclass="sref">tgqa>)  1131181/98
2       thrref="+ 11tg9  r-1href="block/11tg<>111ttle.96L128" 3d="L108" 2lass+ooy2hrt  *tdoref="+ 1131181/92
thth11tgsta>9  r-1href="block/11tgs>113ttle.c#L198" 2d="L158" 2lass+ooy2hrt tdnemitsrchanref="+ 1131181/9>
11a>),[19  se href="block/11a>)>113ttle.c#L198" 2d="L16="line" namedio2hrt td)
    hrbi_rwrt=alr class="sbi_rwtle.cgrotd_data *11aaaabr9  r-1href="block/11aaa>112ttle.95L198" 3d="L118L16="line" namedio2hrt td)
    hrbi_rwrt=alr class="sbi_rwtle.cgrotd= ~data *11tg9  r-1href="block/11tg<>112ttle.97L118" 3d="L118goto_data *11>3">>>9>>1134tle.c#L198" 94L198" 2d="L158" 2lass="line" na1135="sr9">1131282/92
1131181/9 * a href="block/11311>113ttle.90L177" 2d="L1672d="L158" 2lass=">21686/28
 *     1137="sr9">11  113ttle.2d="L1672d="L158" 2las 3d="L118* A aaaaaa hrt pointer 2d=rieved under 2cu c"L1be ustan o aco21686/28
 *     1138="sr9">11      9  th has no rules,">21686/28
 *     1139="sr9">1131282/938 -1href="block/11312>113ttle.2d="L1672d="L158" 2las 3d="L118* just uprt en he dispatch hrotL in ass=less manner and 2d="L1.">21686/28
 *     113s="sr9">11_dispa9 *r-1href="block/11_di>11_dtle.2d="L1672d="L158" 2las 3d="L118*8">21686/28
 *     1131="sr9">111383029  1131383/96
th *g" cL138"f="+code=tg_sdio2hrt 11>tdthrotl_grp *31383/33re8" 2lass="line" name="L138"lass="sref">th1113833292 se href="block/11138>11_4tle.c#L198" 2d="L16="line" namel_da_roclass="sref">thrt=191L198" 2d="L198" 2lass="line" n11_5="sr9">1131282/9 *r-1href="block/11312>113ttle.9#L198" 3d="L1182d="L16="line" namel__no_rule_="srefcent">lass="srl__no_rule_="sre cL138"f="+code=tg_sc_da_roclass="sref">thrre8" 2lass="line"rwrt=alr class="srwthro)t=191L198" 2d="L198" 2lass="line" n11_6="sr9">1131181/9 *r-1href="block/11311>113ttle.95L108" 3d="L118" 3lass=_grp *_da_roclass="sref"_ cL138"f="+code=tg_sc_da_roclass="sref">thrgr_queu i=%u read=%u wri1131383/9>{    ref="block/11313>113ttle.93L128  3d="L1088888888888888888888888888888888888888L16="line" namedio2hrt td)
    hrbi_rizepr6vat class="sbi_rize3/33re8" 2lass="line" io2hrt td)
    hrbi_rwrt=alr class="sbi_rwtle.trtgrotu11angt a9)
 a href="block/11ang>113ttle.96L108"83d7"L108 c3lass goto_data *1131282/9 1131383/9>
11als a>9  r-1href="block/11als>114ttle.97L198" 2d="L188" 2lass="line" n1132="sr9">1121484/96
 *     1143="sr9">11;s*an>9< r-1href="block/11;s*>113ttle.2d="L1672d="L158" 2las 3d="L118* Ei her f">th has not1been alasst ed yet or it is not1"L1une>)
  fpr21686/28
 *     1144="sr9">1121484/93
 *     1145="sr9">11e=ta>)9  se href="block/11e=t>113ttle.2d="L1672d="L158" 2las 3d="L118*8">21686/28
 *     1136="sr9">11blk a>9
 r0 href="block/11blk>114ttle.9#L198" 2d="L16g_nr_quespin_ass=_ir=dg" class="srefspin_ass=_ir= cL138"f="+code=tg_s=dg" class="srefass="sref">td)
    hred=wo_ass=rt=alr class="sed=wo_ass=tle.trtgrotu1121484/9>{    ref="block/11214>114ttle.96L128" 3d="L108" 2lass _da_roclass="sref">throtl_grp *31383/33re8" 2lass="line" name="L138"lass="sref">th11angt a9)
 a href="block/11ang>114ttle.9#L198" 2d="L16="line" nameune>kelt"_L17gg" class=une>kelt cL13L148" 2lass="linc_da_roclass="sref">thrgtsf"+co iembst href="+code=td" cl1149="sr9">11aconti9uer0 href="block/11aco>114rottl9t 1121484/9>
11als a>9   a href="block/11als>115ttle.c#L198" 2d="L16="line" namecl_dalogREADclass="sref">tgREADa>)
]31nr_ed=wo sref[="L157"=tg_stl_rwrt=alr class="srwthro]t=191L198" 2d="L198" 2lass="line" n1152="sr9">11aconti9uer0 href="block/11aco>115ttle.95L198" 3d="L118Ld="L1672d="L158" 2lass=">21686/28
 *     1153="sr9">1121585/952 -1href="block/11215>115ttle.2d="L1672d="L158" 2las 3d="L1183d="L118* There is al3d 3y1"Lo her "io ed=wo  in sblo dir. No">21686/28
 *     1154="sr9">11ot;s*a9>
<-1href="block/11ot;>115ttle.2d="L1672d="L158" 2las 3d="L1183d="L118* netan o uprt endispatch tilo.">21686/28
 *     1125="sr9">11e=ta>)9
]21686/28
 *     1126="sr9">11ITEa>)9])r0 href="block/11ITE>115ttle.95L108" 3d="L118="L157"=tg_stl_uprt e_disptilo"_L17gg" class=uprt e_disptilopr6vtl_data *tdnemitsrchanref="+ 1121484/9>{    ref="block/11214>112ttle.93L128  3d="L108goto_data *11*/*s*a9>
11 Its*a9>
11pdds*a9>
11>lys*a9>
th *8">21686/28
 *     1162="sr9">11ates*a9>
31383/33re8" 2lass="line"c_da_roclass="sref">thrre8" 2lass="line" io2hrt 
thrr38"f="+code=tg_sdio2hrt 10/a>) ,90 1-1hre16"block/10ot;>102ttle.91L198" 2d="L198"1d=%u w1i10/a>) ,91 10 hre1="block/10/a>>10pttle.95L198" 3d="L118Ld="L1672d="L158" 2lass=">21686/28
10ITEa>)98
1a hre1="block/11ot;>115ttle.2d="L1672d="L158" 2las 3dWed="L1183dtrim slice evf">whf">o2hd="118i her defelass"L13="L158" 2lass=">21686/28
10tg9,)1a hre16"block/11  <>113ttle.2d="L1672d="L158" 2las 3dre iswisealasmight18*ppf">tha ye al3dst ed y 3y1"Lofor13="L158" 2lass=">21686/28
10*/*s*a9  1-1hre16"block/11   >113ttle.2d="L1672d="L158" 2las 3da loefelass ass=slice keeps on extenddefeass=trim st ed 13="L158" 2lass=">21686/28
10 Its*a9113ttle.2d="L1672d="L158" 2las 3dcall"Loforda loefelass=wo w>11plass="="118reduc"Losuddengg" ="L158" 2lass=">21686/28
101686/29  1a hre17"block/11_di>11_dtle.2d="L1672d="L158" 2las 3dwe takeo>10cu c"ount>th 118* IO* netan o"Loso fardaXXX:w" ="L158" 2lass=">21686/28
1021787/90
1a hre1="block/11_di>11_dtle.2d="L1672d="L158" 2las 3dl w>"Bio ass=3d="wlyy 3y1"Lo 2lae="="8reth y loefelass="sref="L158" 2lass=">21686/28
 *  i10s* s*a9>
1a hre1="block/11_di>11_dtle.2d="L1672d="L158" 2las 3duprt endispatch tilo.">21686/28
10s* s*a9) 1a hre17"block/11215>115ttle.2d="L1672d="L158" 2las 3endispatch tilo.">21686/28
1017873292 1e hre17"block/11ot;>115ttle.2d="L1672d="L158" 2las 3dSo keep on trimmdefeslice evf">11pal3dst ed y 3y1"L endispatch tilo.">21686/28
10>td115ttle.2d="L1672d="L158" 2las 3d="L1183d="L118*8">21686/28
10pa> * 9 01-1hre17"block/11ITE>115ttle.95L108" 3d="L11e=tg_s8trim_slice *31383/33re8" 2lass="line"c_da_roclass="sref">thrre8" 2lass="line"rwrt=alr" class="io_rw trtgrotu10   cka9)
1-1hre17"block/11214>112ttle.93L128  3d="L108goto_data *10tgbioa9 *1-1hre1="block/10tgb>112rottl9t 10 class= *1-1hre17"block/10si<>10sttle.c#L198" 2d="L158"1d=%u w1i10e="L178">1    <1aline"8  3d="L108goto_data *10sttle.c#L198" 2d="L158"1dlass="linei10ck/ba>)  1-1hre18"block/11138>113ttle.95L187 _da_roclagaa lookth31383/33re8" 2lass="line"c_da_roclaass="blothrotl_dl_grlogemb[%c]pal3. blass=%llu sz=%u bps=%llu"lineio_servik/10si<>10sttle.c#L198" 2d="L158"1dment"> *  i1021888/26
1a hre1="block/10218>10ettle.k/11138>1ass="blothrotl_dl_grlogemb iolass=%u sonf=%u  3y1"L=%d/%d"lineio_serviced hringuatch nr_queu i=%u re1d=%u w1i10td)
 1-1hre18"block/11.t ="linu"srk/11138>113ttle.95L187 u#L198" ode=tg_srwrt=alr  e_disptilopr6vtl[="L157"=tg_stl_nr_queu icl ?>1ass="blothrotl_dl_grlss="Rlss="o_servi :>1ass="blothrotl_dl_grlss="Wlss="o_serviced hringuatch nr_queu i=%u re1dlass="lin1i1021888/33
1a hre1="block/10218>k/11ITE>115ttle.95L108" 3d="L11eL16="line" namecl_dalogREADclass="sref">tgss="sclassf="+code=tg_sdios="sclass138">31nr_ed=wo sref[="L157"=tg_stl_rwrt=alrss="sbi_rize3/33re8" 2lass="line" io2hrt td)
    hrbi_rizepr6vat class="sbi_rize3/33reL16="line" namecl_dalogREADclass="sref">tgs="L157"=tg_stl_dp8"_L17gg" class="p8dcft[="L157"=tg_stl_rwrt=alrsed hringuatch nr_queu i=%u re1d=%u w1" n1085="sr9">10td)
 1a hre1="block/10td<>10ettle.115ttle.95L108" 3d="L11eL16="line" namecl_dalogREADclass="sref">tgcpu_assf="+code=tg_sdicpu_ass138">31nr_ed=wo sref[="L157"=tg_stl_rwrt=alrss="sbi_rize3/33reL16="line" namecl_dalogREADclass="sref">tgcp"L157"=tg_stl_iopsonf_u0 r-1href=iop8dcft[="L157"=tg_stl_rwrt=alrsed hringuatch nr_queu i=%u re1d=%u w1i10tgouta>)
1-1hre1="block/10tgo>10ettle.115ttle.95L108" 3d="L11eL16="line" namecl_dalogREADclass="sref">tgREADa>)
]31nr_ed=wo sref[="L157"=tg_stl_nr_queu iclass="sbi_rize3/33reL16="line" namecl_dalogREADclass="sref">tgREADa>)
]31nr_ed=wo sref[="L157"=tg_stl_nr_queu iclass=s=out_unef="_rw ref="+ 1021888/2>{1   re18"block/11sis>110ttle.97L198"="line" n" d=%u w1i10  cka>)
 1-1hre1="block/10  c>="sbi_rize3/33re8"_8="ociL17gcurrehrinesemg_rfilli=e8"_8="ociL17gcurrehrlookth1021888/3381-1hre18"block/11tgs>113ttle.c#L198"_da_rocadd 31383/33re8" 2lass="line"c_da_roclass="sref">thrre8" 2lass="line" io2hrt 10t;s*an>
<1-1hre1="block/10t;s>113ttle.c#L198"_da_r8" ode=tg_s=nrqueu f="+code=alqclassnrqueu fpr6vtl_data *tdoref="+ 10READa>)
]1-1hre19"block/11als>114ttle.97L198" 2d="L188" d=%u w1i10ITEa>)
])10 hre19"block/11ate>11pttle.91L197" 2d=8="L157"=tg_stl_uprt e_disptilo"_L17gg" class=upr class=NULLthro)t=191L198" 2d="L198" d=%u w1i1021989/2521-1hre19"block/11.t ="linu"sre cL138"f="+codeg_8="L157"=tg_stl_uprt e_disptileg_8="L157"=tg_stllookth31383/33re8" 2lass="line"c_da_roa" class="io_rw trtgrotu10  cka>)
 1-1hre19"block/10218>k/11ITE>113ttle.c#L198"_da_roctd)
)
1021989/32
1a hre19"block/10td<>112rottl9t 10_dispa> *1a hre1="block/10_di>10tttle.96L198" 2d="L168"12lass="lin1" n10t7="sr9">10dispa> * 1-1hre1="bloc8  3d="L108goto_data *10sttle.c#L198" 2d="L158"1="+code=td1 cl1098="sr9">109/38="+co1e=tg"19"block/10  c>="sbi_rize3/33r=dg" 17gg" cnr_quespin_ass=_ir=dg" 17gg" cnr_refspin_ass=_ir= cL138"f="+code=tg_s=dg" class="srefass="sref">td)
    hred=wo_ass=rt=alr class="sed=wo_ass=tle.trtgrotu10ri *10sttle.c#L198" 2d="L158"2f="+code=n2" c11ss="sr9">11ss="ya8 *2-1hre20"block/10t;s>113ttle.c#L198"=rt=alr ca * refsp"sed=wo_ass=tle.trtgrotu11sEADa>)
]2-1hre2="bloc8  3d="L108goto_dahrout_unef="_rcu"_s=ou:k/10si<>10sttle.c#L198" 2d="L158"2f2ass="lin2"10ITEa>)
])20 hre20"block/10aco>102ttle.91L197" 2d="L12da_r8" ode=tg_s=nrqueu f="+code=alqcsed=wo_ass=tle.trtgrotu1021989/2522-1hre20"block/10215>102ttle.9#L198" 2d="L158" 22lass="lin2" n11s4="sr9">11s cka>)
 2-1hre20"block/10ot;>102ttle.91L198" 2d="L198"22lass="lin2" n11s5="sr9">11s1989/32
2a hre20"block/11e=t>115ttle.2d="L1/*3endispatch tilo.">21686/28
11sdispa> *2a hre20"block/11ot;>115ttle.2d="L16* o2hrt 21686/28
10dispa> * 2-1hre20"block/11  <>113ttle.2d="L16* @q: ort=alr class183ddrain f="+code=>o2hdofor13="L158" 2lass=">21686/28
11s/38="+co2e=tg"20"block/11   >113ttle.2d="L163endispatch tilo.">21686/28
10ri113ttle.2d="L16* Dnetan o th 1currehrly f="+code=>o2hdoon @q f="+ugh classmake_ort=alr fn() endispatch tilo.">21686/28
1131080/9>
2a hre21"block/11_di>11_dtle.2d="L163d="L1183d="L118*8">21686/28
11>tg11aaaabr9ak2-1hre21"block/11313>11_ttle.95L198"__orleas 2lass   tds__orleas 2refspin_ass=_ir= cL138"f="+code=tg_s=dg" class="srefass="sref">td)
    hred=wo_ass=rt=alr class=">11_ttle.95L198"__acquir 2lass   tds__acquir 2refspin_ass=_ir= cL138"f="+code=tg_s=dg" class="srefass="sref">td)
    hred=wo_ass=rt=alr class="lass="srefass="tsf"+co iembst hre2e3ass="lin2" n1113="sr9">1131181/9522-1hre2="bloclass=NULLthro)t=191L198" 2d="L198"2="+code=td2 cl1134="sr9">11pa> * 9s)2a hre21"block/10218>113ttle.97L198" 3d="L118" 3lass="line" name="L178">21787/25        throtl_data *td)
    href="+code=alqclass="sref">tgqa>)  11  */br9ak2-1hre2="block/11  *>113ttle.97L198" 3d="L118" 3larb_rooass    *31383/33     gode=tass=trel_uprt e_disptileg_de=tass=trel"+code=alqclass="sref">tgqa>)  1131181/98
2a hre2="block/11311>113ttle.c#L198" 2d="L168" 2lass="line" name="L178">2       thrref="+ 11tg9  2-1hre2="block/11tg<>ass="srefass="tsf"+co)s8"_lisass   thrref="+ 1131181/92
2a hre2="block/11311>111ttle.94L198" 2d="L168" 2lass="line" io2hrt thrref="+ 11tgsta>9  2-1hre21"block/10si<>10sttle.c#L198" 2d="L158"2de=nrqueu 2las112s="sr9">1131181/9>
2a hre22"block/10t;s>113ttle.c#L198"=rt=alr cldep_8="ert_helta> *11a>),[19  2e hre22"block/11als>114ttle.97L198" 2d="L188"22lass="lin2" n1122="sr9">11aaaabr9  2-1hre22"block/11313>11_ttle.95L198" 8"_lisa" 2lass   11tg9  2-1hre22"block/11s19>110ttle.95L198" 3d="L118"2de=nrqueu 2las1124="sr9">11>3">>>9>>2a hre2="block/11>3">while (o_rule_="sre cL138"f="+code=tg_sc_da_roclass="sref">throtl_grp1131282/92
2a hre22"block/10/a>>10pttle.997L198" 3d="L118" 3lase=rt=ala lookth31383/33re8" 2lass="line"c_da_roa" class="io_rw trtgrotu1131181/9 *2a hre22"block/10_di>10tttle.96L198" 2d="L168"2mment"> * 2   1137="sr9">11  112ttle.while (o_rule_="sre cL168" 2lass="line" io2hrt thtgsdatlisa"L157"=tg_stl_dp8datlisa"138">31nr_ed=wo sref[="L157"=tg_stl_nr_queu icla)class="sref">thrgtsf"+co iembst hre2mment"> * 2   1138="sr9">11      9  2a hre22"block/11ang>113ttle.96L108"88">31383/33     gos=    *lookth31383/33re8" 2lass="line"c_da_roclass="sref">thrre8"ta *1131282/9382-1hre22"block/11aco>114rottlwhile (o_rule_="sre cL168" 2lass="line" io2hrt thtgsdatlisa"L157"=tg_stl_dp8datlisa"138">31nr_ed=wo sref[="L157"=tg_stl_nr_queu iclass=class="sref">thrgtsf"+co iembst hre2mment"> * 2   113s="sr9">11_dispa9 *2-1hre23"block/10t;s>10t;tle.96L108"88">31383/33     gos=    *lookth31383/33re8" 2lass="line"c_da_roclass="sref">thrre8"ta * * 2   1131="sr9">111383029  2a hre2="block/11138>k/10215>102ttle.9#L198" 2d="L158" 2de=nrqueu 2las1132="sr9">1131383/96
2a hre2="block/11313>11_ttle.95L198"=dg" 17gg" cnr_quespin_ass=_ir=dg" 17gg" cnr_refspin_ass=_ir= cL138"f="+code=tg_s=dg" class="srefass="sref">td)
    hred=wo_ass=rt=alr class="sed=wo_ass=tle.trtgrotu11>td110ttle.95L198" 3d="L118"2de=nrqueu 2las1134="sr9">1113833292 2e hre23"block/11>3">while (o_rule_="sre cL168" 2lass="line" io2hrt ththrgtsf"+co iembst hre2mass="line2" n11_5="sr9">1131282/9 *2-1hre2="block/11312>113ttle.y_syna_rw 3grotgeneric_make_ort=alr 2lass="line" igeneric_make_ort=alr    "iohrt <_di__rw 3ggrotde=tg_stl_dio2hrt 1131181/9 *2-1hre23"block/10_di>10tttle.96L198" 2d="L168"2d=%u w2i1131383/9>{2   re2="block/11313>11_ttle.95L198"=dg" L16g_nr_quespin_ass=_ir=dg" class="srefspin_ass=_ir= cL138"f="+code=tg_s=dg" class="srefass="sref">td)
    hred=wo_ass=rt=alr class="sed=wo_ass=tle.trtgrotu11angt a9)
2a hre2="block/10215>102ttle.9#L198" 2d="L158" 2d9ass="lin2las1139="sr9">1131282/9 <20 hre23"block/10si<>10sttle.c#L198" 2d="L158"2lass="line2 na114s="sr9">1131383/9>
2a hre2="blocinle.94L198" 2d="L168"rt 11als a>9  2-1hre2="bloclass=NULLthro)t=191L198" 2d="L198"22lass="lin2" n1132="sr9">1121484/96
2a hre2="block/11214>113ttle.97L198" 3d="L118" 3lass="line" name="L178">21787/25         * 2   1143="sr9">11;s*an>9< 2-1hre24"block/11.t =inle.94L198" 2d="L1reass   1121484/93
2a hre24"block/10ot;>102ttle.91L198" 2d="L198"2mment"> * 2   1145="sr9">11e=ta>)9  2e hre245block/11313>11_ttle.95L198"f="+code=tg_stl_data" class="sref">throtlkzth ha_nrot"+code=tg_stl_dkzth ha_nrotrefsps198" 3   thrr38"f="+code=tg_s=dg" class="srefass="srefnrot"+code=tg_stl_dnrotrefs"sed=wo_ass=tle.trtgrotu * 2   1136="sr9">11blk a>9
 20 hre2="block/11blk>11ptss=une>kelt cL13L="+code=tg_stl_data" caed=wo_ass=tle.trtgrotu1121484/9>{2   re24"block/11214>112ttle.102ttle-s=une>kelt cL13ENOMEM"+code=tg_stl_dENOMEMa" csed=wo_ass=tle.trtgrotu11angt a9)
2a hre24"block/11*/*>115ttle.c#L198" 2d="L168"2="+code=td2 cl1149="sr9">11aconti9ue20 hre24"block/11tgs>113ttle.c#L198"_ta> *31383/33     gode=tass=trel_uprt e_disptileg_de=tass=trel"+colass="sref">throtl iclaL_RB_ROOT_uprt e_disptil iclaL_RB_ROOTa" csed=wo_ass=tle.trtgrotu1121484/9>
2a hre25"block/10t;s>113ttle.c#L198"_ta> *31383/33    lass="8 2lng ode=tg_s=nrqueu lass="8 2lng o"+colass="sref">throtl_data *tdnemitsrchanref="+ 11als a>9  2a hre25"block/11138>113ttle.95L187 INIT_DELAYED_WORK * *31383/33             a!hhref   )
s"L138">31383/33re8"_         a!hhref   11aconti9ue20 hre25"block/11aaa>111ttle.c#L128" id="L188"2mment"> * 2   1153="sr9">1121585/9522-1hre25"block/11>td>113ttle.c#L198"_data *td)
    href="+coclass="sref">throtl="+code=tg_stl_data" csed=wo_ass=tle.trtgrotu * 2   1154="sr9">11ot;s*a9>
2-1hre254block/10t;s>113ttle.c#L198"_ta> *31383/33    atchclasrequest_ed=wclass="sreass="sref">throtl_data * * 2   1125="sr9">11e=ta>)9
]2a hre25"block/11312>113ttle.c#L128" 2d="L168"2mment"> * 2   1126="sr9">11ITEa>)9])20 hre25"block/11311>113ttle.90L177" 2d="L167 actr6vat 21686/28
1121484/9>{2   re25"block/11313>11_ttle.95L198"reass   tht hrt"_L17actr6vatlass="lrefspin_ass=_ir= cL138"f="+code=tg_s=dg" " _delay_syna_rw 3groto2d="L108" 2lass+code=tg hrt policy2hrt "sed=wo_ass=tle.trtgrotu11*/*s*a9>
2a hre25"block/11ang>114ttle.9#L198" 2d=reass   11 Its*a9>
2a hre25"block/11aco>114rottls="sref">throtlkfrel_uprt e_disptilkfrellookth11pdds*a9>
2a hre26"block/10t;s>102ttle.91L197" 2d="L1reass   11>lys*a9>
2a hre2="block/10215>102ttle.9#L198" 2d="L158" 2mment"> * 2   1162="sr9">11ates*a9>
2a hre26"block/11aaa>111ttle.c#L128" id="L188"22lass="lin2" n11block/10at1s* s*a9>
2a hre2="bloc>10t7tle.9#L108"8" *o2hrt 10/a>) ,90 2-1hre26"block/11pa>>111ttle.97L198"ref="+code=2d=%u w2i10/a>) ,91 20 hre265block/11313>11_ttle.95L198"BUG_ON grotde=tg_stl_BUG_ONrefspss=une>kelt cL13_data *td)
    href="+co"sed=wo_ass=tle.trtgrotu * 2i10ITEa>)98
2a hre26"block/11blk>114ttle.9#L198"hda_roctatchclas name="shutdown_w=dg" class="sref name="uest_ed=wodcftyp grotde=tg_stl_=dg" csed=wo_ass=tle.trtgrotu10tg9,)2a hre26"block/11tg<>111ttle.96L128" 2hrt deactr6vatlass="line" name">t hrt"_L17deactr6vatlass="lrefspin_ass=_ir= cL138"f="+code=tg_s=dg" " _delay_syna_rw 3groto2d="L108" 2lass+code=tg hrt policy2hrt "sed=wo_ass=tle.trtgrotu10*/*s*a9  2-1hre26"block/10  c>="sbi_rize3/33rkfrel_uprt e_disptilkfrellookth *td)
    href="+co"sed=wo_ass=tle.trtgrotu10 Its*a9102ttle.9#L198" 2d="L158" 2d=%u w2i101686/29  2a hre27"block/11pdd>116ttle.95L148" id="L178"2dlass="lin2" n1071="sr9">1021787/90
2a hre2="block/11s cinle.94L198" 2d="L1_c 2lass   114ttle.9#L198"hda_roc 2lass   10tclass="srefass="tsf"+co iembst hre2dment"> * 2i10s* s*a9>
2a hre2="block/11pa>>111ttle.97L198"ref="+code=2d=%u w2i10s* s*a9) 2a hre27"block/11>td>113ttle.c#L198"kt"_L17ref);thth1017873292 2e hre27"block/11138>11_4ss=une>kelt cL13kt"_L17ref);10>td113ttle.y_syna_rw 3grotervicancel_delay_synerviclookthass="blothrotl_dl_grlogembFailL1183dcefaaa kt"_L17r\n"lineio_servi"sed=wo_ass=tle.trtgrotu * 2i10pa> * 9 02-1hre27"block/10_di>10tttle.96L198" 2d="L168"2d=%u w2i10   cka9)
2-1hre27"block/11214>102ttle.91L197" 2d="L1y2hrt "sed=wo_ass=tle.trtgrotu10tgbioa9 *2-1hre27"block/10215>102ttle.9#L198" 2d="L158" 2d=%u w2i10 class= *2-1hre27"block/10si<>10sttle.c#L198" 2d="L158"2d=%u w2i10e="L178">2    <2aline"8  3d="L108gotomoa>)
< 2lass   )
< 2lalookth10ck/ba>)  2-1hre28"bloc


The original LXR softw"118by118* d=wo_ass=http://sourceforge.net/projects/lxLXR 7" 2u2laydg" " this experi2d="al version8by1d=wo_ass=mailto:lx<@9">ux.no">lx<@9">ux.nodg" .
lx<.9">ux.no kindly hos notby1d=wo_ass=http://www.redpill-9">pro.no">Redpill L">pro ASdg" " proviter of L">ux 7"nsultdefeass=oper11s"ns de=tasss dince 1995.