# SPDX-License-Identifier: GPL-2.0 from __future__ import print_function data = {} times = [] threads = [] cpus = [] def get_key(time, event, cpu, thread): return "%d-%s-%d-%d" % (time, event, cpu, thread) def store_key(time, cpu, thread): if (time not in times): times.append(time) if (cpu not in cpus): cpus.append(cpu) if (thread not in threads): threads.append(thread) def store(time, event, cpu, thread, val, ena, run): #print("event %s cpu %d, thread %d, time %d, val %d, ena %d, run %d" % # (event, cpu, thread, time, val, ena, run)) store_key(time, cpu, thread) key = get_key(time, event, cpu, thread) data[key] = [ val, ena, run] def get(time, event, cpu, thread): key = get_key(time, event, cpu, thread) return data[key][0] def stat__cycles_k(cpu, thread, time, val, ena, run): store(time, "cycles", cpu, thread, val, ena, run); def stat__instructions_k(cpu, thread, time, val, ena, run): store(time, "instructions", cpu, thread, val, ena, run); def stat__cycles_u(cpu, thread, time, val, ena, run): store(time, "cycles", cpu, thread, val, ena, run); def stat__instructions_u(cpu, thread, time, val, ena, run): store(time, "instructions", cpu, thread, val, ena, run); def stat__cycles(cpu, thread, time, val, ena, run): store(time, "cycles", cpu, thread, val, ena, run); def stat__instructions(cpu, thread, time, val, ena, run): store(time, "instructions", cpu, thread, val, ena, run); def stat__interval(time): for cpu in cpus: for thread in threads: cyc = get(time, "cycles", cpu, thread) ins = get(time, "instructions", cpu, thread) cpi = 0 if ins != 0: cpi = cyc/float(ins) print("%15f: cpu %d, thread %d -> cpi %f (%d/%d)" % (time/(float(1000000000)), cpu, thread, cpi, cyc, ins)) def trace_end(): pass # XXX trace_end callback could be used as an alternative place # to compute same values as in the script above: # # for time in times: # for cpu in cpus: # for thread in threads: # cyc = get(time, "cycles", cpu, thread) # ins = get(time, "instructions", cpu, thread) # # if ins != 0: # cpi = cyc/float(ins) # # print("time %.9f, cpu %d, thread %d -> cpi %f" % (time/(float(1000000000)), cpu, thread, cpi)) lue='linux-2.6.38.y'>linux-2.6.38.y Hosts the 0x221E linux distro kernel.Ubuntu
summaryrefslogtreecommitdiff
path: root/block/bfq-iosched.c
AgeCommit message (Expand)Author
2022-03-22Merge branch 'akpm' (patches from Andrew)Linus Torvalds
2022-03-22block/bfq-iosched.c: use "false" rather than "BLK_RW_ASYNC"NeilBrown
2022-03-21Merge tag 'for-5.18/block-2022-03-18' of git://git.kernel.dk/linux-blockLinus Torvalds
2022-03-16block/bfq-iosched: Fix spelling mistake "tenative" -> "tentative"Colin Ian King
2022-03-08Revert "Revert "block, bfq: honor already-setup queue merges""Paolo Valente
2022-03-05bfq: fix use-after-free in bfq_dispatch_requestZhang Wensheng
2022-02-18block, bfq: cleanup bfq_bfqq_to_bfqg()Yu Kuai
2022-02-17block/wbt: fix negative inflight counter when remove scsi deviceLaibin Qiu
2021-11-29block: simplify ioc_lookup_icqChristoph Hellwig
2021-11-29block: move the remaining elv.icq handling to the I/O schedulerChristoph Hellwig
2021-11-29block: move blk_mq_sched_assign_ioc to blk-ioc.cChristoph Hellwig
2021-11-29bfq: use bfq_bic_lookup in bfq_limit_depthChristoph Hellwig
2021-11-29bfq: simplify bfq_bic_lookupChristoph Hellwig
2021-11-29bfq: Do not let waker requests skip proper accountingJan Kara
2021-11-29bfq: Log waker detectionsJan Kara
2021-11-29bfq: Limit waker detection in timeJan Kara
2021-11-29bfq: Limit number of requests consumed by each cgroupJan Kara
2021-11-29bfq: Store full bitmap depth in bfq_dataJan Kara
2021-11-29bfq: Track number of allocated requests in bfq_entityJan Kara
2021-11-29block: move io_context creation into where it's neededJens Axboe
2021-10-18blk-mq: Stop using pointers for blk_mq_tags bitmap tagsJohn Garry
2021-10-18block: move elevator.h to block/Christoph Hellwig
2021-09-28Revert "block, bfq: honor already-setup queue merges"Jens Axboe
2021-09-02block, bfq: honor already-setup queue mergesPaolo Valente
2021-08-23block: add an explicit ->disk backpointer to the request_queueChristoph Hellwig
2021-08-18block: fix default IO priority handlingDamien Le Moal
2021-08-18block: Introduce IOPRIO_NR_LEVELSDamien Le Moal
2021-08-18block: bfq: fix bfq_set_next_ioprio_data()Damien Le Moal
2021-08-09block: return ELEVATOR_DISCARD_MERGE if possibleMing Lei
2021-08-09block: move the bdi from the request_queue to the gendiskChristoph Hellwig
2021-06-24blk: Fix lock inversion between ioc lock and bfqd lockJan Kara
2021-06-24bfq: Remove merged request already in bfq_requests_merged()Jan Kara
2021-06-21block, bfq: reset waker pointer with shared queuesPaolo Valente
2021-06-21block, bfq: check waker only for queues with no in-flight I/OPaolo Valente
2021-06-21block, bfq: avoid delayed merge of async queuesPaolo Valente
2021-06-21block, bfq: boost throughput by extending queue-merging timesPietro Pedroni
2021-06-21block, bfq: consider also creation time in delayed stable mergePaolo Valente
2021-06-21block, bfq: fix delayed stable merge checkLuca Mariotti
2021-06-21block, bfq: let also stably merged queues enjoy weight raisingPaolo Valente