All of lore.kernel.org
 help / color / mirror / Atom feed
* RE: xend leaks/bugs/etc
@ 2005-04-17 15:42 Ian Pratt
  2005-04-18  6:00 ` Allen Short
  0 siblings, 1 reply; 20+ messages in thread
From: Ian Pratt @ 2005-04-17 15:42 UTC (permalink / raw)
  To: Allen Short, xen-devel

> Hi. I'm a Twisted developer interested in improving xend. 
> First, I'm going to ensure that it runs on Twisted 2.0. I'd 
> also like to see if I can reproduce the memory leaks I've 
> seen reported here, and find out what can be done about them. 
> Eventually I'd like to refactor most of xend to use Twisted's 
> service architecture, which handles things like startup and 
> shutdown in a more modular fashion. (I'm working on a project 
> that could benefit from tighter integration with xend, but 
> the current codebase is not very friendly to that.) Is there 
> a list of existing problems with xend that I could refer to? 
> I attempted to reproduce the "xm list" memory leak, but was 
> not able to do so. (I am using Python 2.4.1 and yesterday's 
> xeno-unstable.) 

Allen, I think we've come to the conclusion that Twisted was rather
overkill for our needs, and led to some rather confusing code that has
proved hard to maintain. I've no doubt that someone more experienced
with using Twisted could have done a better job, but do you really think
it's the best route forward?  Xend is a 'control plane' daemon and
doesn't have to handle a high rate of invocations. It needs some ability
to handle asynchronous or out-of-order events, but this could be handled
by simple language-level threads (we don't need concurrency). 

The other downside of using Twisted is that its not available in some
distros, and we've had a few issues with version mismatches. It also has
quite an impact on the RSS memory footprint, which is not ideal.

What do you think?

Thanks,
Ian

^ permalink raw reply	[flat|nested] 20+ messages in thread
* RE: xend leaks/bugs/etc
@ 2005-04-18 23:12 Ian Pratt
  2005-04-20  7:54 ` Jacob Gorm Hansen
  0 siblings, 1 reply; 20+ messages in thread
From: Ian Pratt @ 2005-04-18 23:12 UTC (permalink / raw)
  To: ncmike, Anthony Liguori; +Cc: Harry Butterworth, xen-devel, Allen Short

> > I believe this is the purpose of xenbus.
> 
> Is there a design proposal for xenbus interaction with 
> userland or should we assume it is modeled on the linux 
> driver core/sysfs and /sbin/hotplug?

Sysfs and hotplug are the model. 

> > I agree with all three points.  What I would like to see, 
> and what I 
> > am working on now for VM-Tools, is the function of Xend broken up.
> 
> I agree. Persistent state for domains should be kept in a 
> file system backed by persistent media, not in the memory of 
> the daemon. With a repository factored out of the daemon, the 
> only required functions of the daemon are to maintain control 
> channels and to dispatch state change notifications to the 
> repository. Everything else can be done using single purpose tools. 

To be fair to xend, this is what it does already: all its internal state
is stored in the file system, hence it can be killed and restarted
(modulo bugs in the current unstable).

The key step that needs to happen with the rewrite is to factor xend
into a number of pieces that communicate via the persistent store.

> > I think the goal should be to have the least amount of code 
> > (regardless of language) in whatever is running as a daemon.
> 
> Exactly - the least amount of code that meets functional 
> requirements. 

It's hard to beat python for this sort of thing...

Ian

^ permalink raw reply	[flat|nested] 20+ messages in thread
* xend leaks/bugs/etc
@ 2005-04-16 18:08 Allen Short
  0 siblings, 0 replies; 20+ messages in thread
From: Allen Short @ 2005-04-16 18:08 UTC (permalink / raw)
  To: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 751 bytes --]

Hi. I'm a Twisted developer interested in improving xend. First, I'm
going to ensure that it runs on Twisted 2.0. I'd also like to see if I
can reproduce the memory leaks I've seen reported here, and find out
what can be done about them. Eventually I'd like to refactor most of
xend to use Twisted's service architecture, which handles things like
startup and shutdown in a more modular fashion. (I'm working on a
project that could benefit from tighter integration with xend, but the
current codebase is not very friendly to that.) Is there a list of
existing problems with xend that I could refer to? I attempted to
reproduce the "xm list" memory leak, but was not able to do so. (I am
using Python 2.4.1 and yesterday's xeno-unstable.) 

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2005-04-22  0:21 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-17 15:42 xend leaks/bugs/etc Ian Pratt
2005-04-18  6:00 ` Allen Short
2005-04-18 14:32   ` Harry Butterworth
2005-04-18 15:15     ` Anthony Liguori
2005-04-18 15:27       ` Hollis Blanchard
2005-04-18 15:45         ` Anthony Liguori
2005-04-18 16:16           ` Hollis Blanchard
2005-04-18 16:49             ` Harry Butterworth
2005-04-18 18:01             ` Anthony Liguori
2005-04-18 17:53               ` Hollis Blanchard
2005-04-20  7:10                 ` Jacob Gorm Hansen
2005-04-20 14:16                   ` Anthony Liguori
2005-04-21 22:58                     ` Jacob Gorm Hansen
2005-04-22  0:21                       ` Anthony Liguori
2005-04-18 15:58       ` Harry Butterworth
2005-04-18 21:33       ` Mike D. Day
  -- strict thread matches above, loose matches on Subject: below --
2005-04-18 23:12 Ian Pratt
2005-04-20  7:54 ` Jacob Gorm Hansen
2005-04-20 14:34   ` Hollis Blanchard
2005-04-16 18:08 Allen Short

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.