Function report |
Source Code:block\kyber-iosched.c |
Create Date:2022-07-28 17:51:44 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Calculate the histogram bucket with the given percentile rank, or -1 if there* aren't enough samples yet.
Proto:static int calculate_percentile(struct kyber_queue_data *kqd, unsigned int sched_domain, unsigned int type, unsigned int percentile)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct kyber_queue_data * | kqd | |
unsigned int | sched_domain | |
unsigned int | type | |
unsigned int | percentile |
229 | buckets = latency_buckets[sched_domain][type] |
230 | samples = 0 |
235 | If Not samples Then Return -1 |
242 | If Not latency_timeout[sched_domain] Then latency_timeout[sched_domain] = max - return maximum of two values of the same or compatible types*@x: first value*@y: second value(jiffies + HZ, 1UL) |
244 | If samples < 500 && ime_is_after_jiffies(a) return true if a is after jiffies (latency_timeout[sched_domain]) Then |
246 | Return -1 |
248 | latency_timeout[sched_domain] = 0 |
250 | percentile_samples = DIV_ROUND_UP(samples * percentile, 100) |
251 | When bucket < KYBER_LATENCY_BUCKETS - 1 cycle |
252 | If buckets[bucket] >= percentile_samples Then Break |
254 | percentile_samples -= buckets[bucket] |
256 | memset(buckets, 0, size of latency_buckets[sched_domain][type] ) |
258 | trace_kyber_latency(q, kyber_domain_names[sched_domain], kyber_latency_type_names[type], percentile, bucket + 1, 1 << KYBER_LATENCY_SHIFT, samples) |
262 | Return bucket |
Name | Describe |
---|---|
kyber_timer_fn |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |