# 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)) value='linux-3.0.y'>linux-3.0.y Hosts the 0x221E linux distro kernel.Ubuntu
summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/gvt/kvmgt.c
AgeCommit message (Expand)Author
2018-08-24drm/i915/kvmgt: Fix potential Spectre v1Gustavo A. R. Silva
2018-04-04Merge tag 'gvt-fixes-2018-04-03' of https://github.com/intel/gvt-linux into d...Joonas Lahtinen
2018-03-28Backmerge tag 'v4.16-rc7' into drm-nextDave Airlie
2018-03-22drm/i915/gvt: throw error on unhandled vfio ioctlsGerd Hoffmann
2018-03-19drm/i915/kvmgt: Handle kzalloc failureChangbin Du
2018-03-06drm/i915/kvmgt: Add kvmgt debugfs entry nr_cache_entries under vgpuChangbin Du
2018-03-06drm/i915/gvt: Fix guest vGPU hang caused by very high dma setup overheadChangbin Du
2018-03-06drm/i915/gvt: Fix check error of vgpu create failure messageZhenyu Wang
2018-03-06drm/i915/gvt: Rename mpt api {set, unset}_wp_page to {enable, disable}_page_t...Changbin Du
2018-02-14drm/i915/gvt: Support BAR0 8-byte reads/writesTina Zhang
2018-02-08Merge tag 'drm-for-v4.16-part2-fixes' of git://people.freedesktop.org/~airlie...Linus Torvalds
2018-02-06drm/i915/gvt: Fix aperture read/write emulation when enable x-no-mmap=onChangbin Du
2018-02-01Merge tag 'drm-for-v4.16' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds
2018-02-01drm/i915/gvt: validate gfn before set shadow page entryHang Yuan
2017-12-22drm/i915/gvt: move write protect handler out of mmio emulation functionZhenyu Wang
2017-12-20vfio: Simplify capability helperAlex Williamson
2017-12-08drm/i915/gvt/kvmgt: fill info for ROM/VGA regionPei Zhang
2017-12-04drm/i915/gvt: Dmabuf support for GVT-gTina Zhang
2017-12-04drm/i915/gvt: Add opregion supportTina Zhang
2017-11-16drm/i915/gvt: Refactor vGPU type code in kvmgt partfred gao
2017-11-16drm/i915/gvt: Introduce intel_vgpu_submissionZhi Wang