From: Hollis B. <ho...@us...> - 2008-04-14 21:45:38
|
On Monday 14 April 2008 07:23:57 ehr...@li... wrote: > From: Christian Ehrhardt <ehr...@li...> > > This adds a relayfs based kernel interface that allows tracing of all > emulated guest instructions. It is based on Hollis tracing of tlb > activities. A suitable userspace program to read from that interface and a > post processing script that give users a readable output follow. > This feature is configurable in .config under the kvmppc virtualization > itself. I'm not sure how I feel about logging *every* faulting instruction, rather than aggregating statistics about them. Actually, I know how I feel, and it's uncomfortable. :) It's a userspace process that must be extracting this data from the relay buffers, and that only happens when it's scheduled. How many instruction exits could we get in a few timeslices? I think we could easily overflow the relay buffers, especially if the host is under load. > +struct instr_record { > + u32 time; > + u32 pc; > + u32 instr; > + u32 rsval; > + u32 raval; > + u32 rbval; > +}; In addition to the instruction itself, I can see how the PC would be useful, and maybe also the time when we have multiple cores. (Well, or maybe it would be better to have one channel per core anyways.) But I think RS/RA/RB are way overkill here. What would a userspace tool do with this data anyways? -- Hollis Blanchard IBM Linux Technology Center |