Re: Minutes from 5/19 CKRM/PAGG discussion

From: Peter Williams
Date: Tue May 25 2004 - 20:34:09 EST


Hubertus Franke wrote:
Peter Williams wrote:
From my (possibly incorrect) understanding of the above description, one thing that PAGG provides to its clients that CKRM doesn't is the ability to attach some private data to task structs and it passes that data to the client as part of the callback. Am I correct in this interpretation?

Peter


That is the "stickling" point. Yes, PAGG provides this feature that one can chain private data to the attach/detach callback. CKRM at this point does not do that as we do not see the need for multiple class associations in the core.

I think that you are looking at this issue too much from a CKRM point of view. I.e. just because CKRM doesn't need it doesn't mean that it isn't a good idea. In fact the issue should be viewed more broadly than just a "resource management" point of view.

If there are multiple clients then having their per KernelObject data managed using the PAGG mechanism greatly simplifies the task of implementing a client AND reduces the potential overhead on the system as the alternative is for the client to use some type of search mechanism to find its copy of its per KernelObject specific data when servicing its callback functions.

Instead we can drive such things through the extended RBCE interface. Here you register callbacks to the task classtype to be notified of the ckrm events.

Since we do networking, PAGG is not sufficient for us as it only deals with processes.

I think that this is just a detail and that what should happen is that a PAGG like mechanism be applied to sockets. Similarly, to enable memory management/monitoring one attached to address space structures would be useful. And so on.

Hence we need our generic infrastructure at the core level. Sure we can try to modularize further to take the CKRM EVENTS out.

I think that breaking these up into smaller chunks (based on the type of KernelObject to which they apply) would be a good idea. The fact that CKRM wants to use them all isn't sufficient justification to lump them all together.

Then potentially one could implement task types on top of PAGG on top of CKRM Events (which are needed anyway for other the task class associations), but then again PAGG brings nothing but another indirections.

It worthwhile to consider to bite the bullet and allow PAGG to enter its task class association chain (1 word) and allow CKRM its own. CKRM is going after the integrated resource schedulers, PAGG/CSA (afaik) does not.

I think that this is another example of you taking a too CKRM centric point of view. What I'm trying to say is that I think that these lower level interfaces need to be more independent of CKRM's requirements.

Peter
--
Dr Peter Williams, Chief Scientist peterw@xxxxxxxxxx
Aurema Pty Limited Tel:+61 2 9698 2322
PO Box 305, Strawberry Hills NSW 2012, Australia Fax:+61 2 9699 9174
79 Myrtle Street, Chippendale NSW 2008, Australia http://www.aurema.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/