Hello, I might only have configuration problem, but I couldn''t find any docs that could relate to the problem. The command: ''xm dmesg'' seems to stop buffering any output after a while. I have to enable serial port to get the output bigger than the buffer. I don''t know how big the buffer or if it''s circular? Is there anyway to fix this behavior? The second question I have since I have to enable the serial line. Considering the speed of the serial line is very slow. Would that affect the performance of XEN than just buffering the output (for ''xm dmesg'')? I do have to output some messages when a certain event occurs. Will enabling more consoles (serials, vga, tty) slow the performance by default? Just by reading the XEN papers, XEN has a way to register asynchronous events to the domains. Would it be better in terms of performance to send the event messages to a particular domain (e.g: Domain 0) using the asynchronous mechanism and have the domain kernel to handle the messages as XEN events. Thanks in advance for any comments. Kuas. ------------------------------------------------------- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Mark A. Williamson
2004-Oct-25 18:08 UTC
Re: [Xen-devel] xm dmesg and performance on serial port
> I might only have configuration problem, but I couldn''t find any docs > that could relate to the problem. The command: ''xm dmesg'' seems to stop > buffering any output after a while. I have to enable serial port to get > the output bigger than the buffer. I don''t know how big the buffer or if > it''s circular? Is there anyway to fix this behavior?It''s not currently circular. There used to be a -c flag to xm dmesg (or it''s equivalent) that cleared the buffer - does that work? There''s code somewhere in Xen which could support a circular buffer with not much effort.> The second question I have since I have to enable the serial line. > Considering the speed of the serial line is very slow. Would that affect > the performance of XEN than just buffering the output (for ''xm dmesg'')?Doing *lots* of printfs to the serial line is going to really hurt your performance but maybe that doesn''t matter so much for debugging? Occasional printfs probably won''t matter very much.> Just by reading the XEN papers, XEN has a way to register asynchronous > events to the domains. Would it be better in terms of performance to > send the event messages to a particular domain (e.g: Domain 0) using the > asynchronous mechanism and have the domain kernel to handle the messages > as XEN events.We don''t use xm dmesg that much for debugging, generally just tracing through the code and using an attached serial line. You might want to look at the tracebuffer and the xentrace tools. The tracebuffer allows you to log events within Xen itself with low overhead into a circular buffer. The xentrace command in dom0 will read this data out and decode it according to a format file. There''s man pages for the xentrace* tools and the docs/interface.tex manual (although mostly out of date) explains how to put trace points into the Xen code. HTH, Mark> Thanks in advance for any comments. > > > Kuas. > > > ------------------------------------------------------- > This SF.net email is sponsored by: IT Product Guide on ITManagersJournal > Use IT products in your business? Tell us what you think of them. Give us > Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more > http://productguide.itmanagersjournal.com/guidepromo.tmpl > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/xen-devel------------------------------------------------------- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
> Hello, > > I might only have configuration problem, but I couldn''t find any docs > that could relate to the problem. The command: ''xm dmesg'' seems to stop > buffering any output after a while. I have to enable serial port to get > the output bigger than the buffer. I don''t know how big the buffer or if > it''s circular? Is there anyway to fix this behavior?It''s a circular buffer which you can change the size of (CONSOLE_RING_SIZE in xen/drivers/char/console.c).> The second question I have since I have to enable the serial line. > Considering the speed of the serial line is very slow. Would that affect > the performance of XEN than just buffering the output (for ''xm dmesg'')? > I do have to output some messages when a certain event occurs. Will > enabling more consoles (serials, vga, tty) slow the performance by default?Yes the serial line will be the bottleneck if producing lost of console output in DOM0. It''s much slower than placing Xen''s output in the ring, or writing it to VGA.> Just by reading the XEN papers, XEN has a way to register asynchronous > events to the domains. Would it be better in terms of performance to > send the event messages to a particular domain (e.g: Domain 0) using the > asynchronous mechanism and have the domain kernel to handle the messages > as XEN events.Batching events and sending them to DOM0 for storage will be much faster than sending them over a serial line. -- Keir ------------------------------------------------------- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
>>I might only have configuration problem, but I couldn''t find any docs >>that could relate to the problem. The command: ''xm dmesg'' seems to stop >>buffering any output after a while. I have to enable serial port to get >>the output bigger than the buffer. I don''t know how big the buffer or if >>it''s circular? Is there anyway to fix this behavior? >> >> >It''s not currently circular. There used to be a -c flag to xm dmesg (or it''s >equivalent) that cleared the buffer - does that work? There''s code somewhere >in Xen which could support a circular buffer with not much effort. > >It is not circular or the circular mechanism might have been broken. The buffer just stopped after a certain limit. The code in "console.c" does not seems to be circular either. And the command with "xm dmesg -c" doesn''t seem to exist either.>>Just by reading the XEN papers, XEN has a way to register asynchronous >>events to the domains. Would it be better in terms of performance to >>send the event messages to a particular domain (e.g: Domain 0) using the >>asynchronous mechanism and have the domain kernel to handle the messages >>as XEN events. >> >> >We don''t use xm dmesg that much for debugging, generally just tracing through >the code and using an attached serial line. > >You might want to look at the tracebuffer and the xentrace tools. The >tracebuffer allows you to log events within Xen itself with low overhead into >a circular buffer. The xentrace command in dom0 will read this data out and >decode it according to a format file. There''s man pages for the xentrace* >tools and the docs/interface.tex manual (although mostly out of date) >explains how to put trace points into the Xen code. >xentrace seems to be used for debugging purpose. I am actually doing a security project using Xen. On a particular event that happens in the one of the domain, detected by a module in XEN. I''d like to report it or log it. I am trying to find the best way to do this. Let me know if I''m wrong. Isn''t the "event_channel" is the communication channel from XEN to a domain. If I want to get XEN buffer messages (I guess it has to be in shared pages with the domain) to privilege domain 0, and flag the domain to check if there''s something in the buffer. And get a handler in domain 0 to consume the buffer. I think this would have much less performance effect. Is there any interface existed that I can use for this? Or I''ll just have to built it on top of event_channel. Thanks, Kuas. ------------------------------------------------------- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Mark A. Williamson
2004-Nov-01 00:29 UTC
Re: [Xen-devel] xm dmesg and performance on serial port
> It is not circular or the circular mechanism might have been broken. TheNo, it''s not circular by design.> buffer just stopped after a certain limit. The code in "console.c" does > not seems to be circular either. And the command with "xm dmesg -c" > doesn''t seem to exist either.xm dmesg [-c|--clear] should now work if you pull the unstable repo (or wait a little for it to arrive in the stable repo).> xentrace seems to be used for debugging purpose. I am actually doing a > security project using Xen. On a particular event that happens in the > one of the domain, detected by a module in XEN. I''d like to report it or > log it. I am trying to find the best way to do this.Yes, the trace buffer is aimed at debugging timing-sensitive problems but it may still suit your needs, or at least provide a starting point.> Let me know if I''m > wrong. Isn''t the "event_channel" is the communication channel from XEN > to a domain.Event channels are Xen''s equivalent to interrupts in normal hardware. Event channels may be between Xen and a domain or between a pair of domains. Events send on these are basically like interrupts, i.e. they just mean "look at this!", signalling that some event has just occurred. They don''t actually transfer data associated with an event.> If I want to get XEN buffer messages (I guess it has to be > in shared pages with the domain) to privilege domain 0, and flag the > domain to check if there''s something in the buffer. And get a handler in > domain 0 to consume the buffer. I think this would have much less > performance effect. Is there any interface existed that I can use for > this? Or I''ll just have to built it on top of event_channel.You''ve got the right idea. This is basically what the xentrace / trace buffer stuff does, so you might want to look at xen/common/trace.c and tools/xentrace/xentrace.c for the details of how this stuff is done. The trace buffer doesn''t actually use an event channel, it just polls periodically but this seems to work OK for our applications. It would be possible to add a pseudo-device in dom0, which you could just read the trace data out of, with the reading process woken up when new data arrives (as signalled to dom0 by a suitable event channel). HTH, Mark ------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader''s Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel