diff options
Diffstat (limited to 'include/trace/events/kvm.h')
-rw-r--r-- | include/trace/events/kvm.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/include/trace/events/kvm.h b/include/trace/events/kvm.h index 6dd3a51ab1cb..a78a5e574632 100644 --- a/include/trace/events/kvm.h +++ b/include/trace/events/kvm.h | |||
@@ -185,6 +185,96 @@ TRACE_EVENT(kvm_age_page, | |||
185 | __entry->referenced ? "YOUNG" : "OLD") | 185 | __entry->referenced ? "YOUNG" : "OLD") |
186 | ); | 186 | ); |
187 | 187 | ||
188 | #ifdef CONFIG_KVM_ASYNC_PF | ||
189 | TRACE_EVENT( | ||
190 | kvm_try_async_get_page, | ||
191 | TP_PROTO(bool async, u64 pfn), | ||
192 | TP_ARGS(async, pfn), | ||
193 | |||
194 | TP_STRUCT__entry( | ||
195 | __field(__u64, pfn) | ||
196 | ), | ||
197 | |||
198 | TP_fast_assign( | ||
199 | __entry->pfn = (!async) ? pfn : (u64)-1; | ||
200 | ), | ||
201 | |||
202 | TP_printk("pfn %#llx", __entry->pfn) | ||
203 | ); | ||
204 | |||
205 | TRACE_EVENT( | ||
206 | kvm_async_pf_not_present, | ||
207 | TP_PROTO(u64 gva), | ||
208 | TP_ARGS(gva), | ||
209 | |||
210 | TP_STRUCT__entry( | ||
211 | __field(__u64, gva) | ||
212 | ), | ||
213 | |||
214 | TP_fast_assign( | ||
215 | __entry->gva = gva; | ||
216 | ), | ||
217 | |||
218 | TP_printk("gva %#llx not present", __entry->gva) | ||
219 | ); | ||
220 | |||
221 | TRACE_EVENT( | ||
222 | kvm_async_pf_ready, | ||
223 | TP_PROTO(u64 gva), | ||
224 | TP_ARGS(gva), | ||
225 | |||
226 | TP_STRUCT__entry( | ||
227 | __field(__u64, gva) | ||
228 | ), | ||
229 | |||
230 | TP_fast_assign( | ||
231 | __entry->gva = gva; | ||
232 | ), | ||
233 | |||
234 | TP_printk("gva %#llx ready", __entry->gva) | ||
235 | ); | ||
236 | |||
237 | TRACE_EVENT( | ||
238 | kvm_async_pf_completed, | ||
239 | TP_PROTO(unsigned long address, struct page *page, u64 gva), | ||
240 | TP_ARGS(address, page, gva), | ||
241 | |||
242 | TP_STRUCT__entry( | ||
243 | __field(unsigned long, address) | ||
244 | __field(pfn_t, pfn) | ||
245 | __field(u64, gva) | ||
246 | ), | ||
247 | |||
248 | TP_fast_assign( | ||
249 | __entry->address = address; | ||
250 | __entry->pfn = page ? page_to_pfn(page) : 0; | ||
251 | __entry->gva = gva; | ||
252 | ), | ||
253 | |||
254 | TP_printk("gva %#llx address %#lx pfn %#llx", __entry->gva, | ||
255 | __entry->address, __entry->pfn) | ||
256 | ); | ||
257 | |||
258 | TRACE_EVENT( | ||
259 | kvm_async_pf_doublefault, | ||
260 | TP_PROTO(u64 gva, u64 gfn), | ||
261 | TP_ARGS(gva, gfn), | ||
262 | |||
263 | TP_STRUCT__entry( | ||
264 | __field(u64, gva) | ||
265 | __field(u64, gfn) | ||
266 | ), | ||
267 | |||
268 | TP_fast_assign( | ||
269 | __entry->gva = gva; | ||
270 | __entry->gfn = gfn; | ||
271 | ), | ||
272 | |||
273 | TP_printk("gva = %#llx, gfn = %#llx", __entry->gva, __entry->gfn) | ||
274 | ); | ||
275 | |||
276 | #endif | ||
277 | |||
188 | #endif /* _TRACE_KVM_MAIN_H */ | 278 | #endif /* _TRACE_KVM_MAIN_H */ |
189 | 279 | ||
190 | /* This part must be outside protection */ | 280 | /* This part must be outside protection */ |