From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Gardner Subject: Re: Hi,something about the xentrace tool Date: Thu, 15 Jun 2006 11:03:29 -0600 Message-ID: <449192E1.4080808@hp.com> References: <8061f8830606150158m35f11025t43c3fa962ccd6679@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <8061f8830606150158m35f11025t43c3fa962ccd6679@mail.gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: rickey berkeley Cc: xen-tools@lists.xensource.com, xen-devel@lists.xensource.com, xen-users@lists.xensource.com List-Id: xen-devel@lists.xenproject.org rickey berkeley wrote: > > so,dose this mechanisms will effect the system performance > evidently?as we know ,copy huge raw data from kernel space to user > space will exhaust so much efficiency and system resource. I wouldn't call the amount of data 'huge'. Even on a very busy system, where there are thousands of trace records being generated every second, that's still a pretty small amount of data. (The size of a trace record is something like 50 or 60 bytes.) Also, the data is not "copied" from kernel space to user space. There is a shared memory buffer which xen writes into, and the user app reads out of. Memory read speeds are currently in the Gb/s range. So to answer your question, I don't think that this mechanism affects system performance in any significant way. > > How about make use of relayfs? It is some kind of standardization of > the way in which large amounts of data are transferred from kernel > space to user space. > If the data were only being transferred between the linux kernel and a linux app, then I'd say yeah, relayfs sounds like a cool thing to do. However, the trace records are generated by the xen hypervisor, not the linux kernel. The hypervisor doesn't have relayfs (or any fs for that matter), so you're stuck with involving the linux kernel which would read stuff from a shared hypervisor buffer, then present the data to userland via relayfs. Doesn't sound like a better solution than what we have now. Rob