On Fri, 2006-08-04 at 14:36 -0700, Joel Becker wrote:
> [Thanks for copying me on this]
>
> On Fri, Aug 04, 2006 at 01:53:45PM -0700, Matt Helsley wrote:
> > On Fri, 2006-08-04 at 13:11 -0700, Chandra Seetharaman wrote:
> > > On Fri, 2006-08-04 at 13:00 -0700, Andrew Morton wrote:
> > > > On Fri, 04 Aug 2006 12:14:23 -0700
> > > > Chandra Seetharaman <[EMAIL PROTECTED]> wrote:
> > > >
> > > > > On Fri, 2006-08-04 at 00:20 -0700, Paul Menage wrote:
> ...snip...
> > > > > This is the plan. But, the configfs maintainer was not happy with that
> > > > > feature addition as it will make the file system more complex.
> > > >
> > > > In a contest between "complex" and "having some pathetic limitation",
> > > > we'll
> > > > take "complex".
> > > >
> > > > Did the configfs maintainer (was it Mark?) have some other proposed fix?
>
> I don't disagree with your "complex" vs "pathetic limitation"
> argument, but I don't see it that way. My proposed fix was that long
> data dumps belong in sysfs or procfs, not configfs. configfs is about
> creating objects and modifying attributes. It's not "configfs ||
> sysfs", it's "configfs && sysfs".
> Certainly creating groups via subdirs or even symlinks is also a
> valid configfs method. I'm not familiar with the ckrm requirements
> enough to be sure this is what they are talking about, but if they had a
> list of "things":
Joel,
Thanks for your reply.
I am confused with the usage model description.
>
>
> config/ckrm/things/
> 1
> 2
> 3
When is "things" created (at registration of subsystem or when user
creates a directory) ?
when are 1, 2, 3 created ?
Are 1,2 and 3 attributes that has a value associated ?
Are 1,2 and 3 attributes of "things" ?
>
> and a list of groups:
>
> config/ckrm/groups/
> family1
> family2
Are family1 and family2 "items" or attributes ?
How is family1 and family2 created ?
>
> then configfs' symlink is a great way to join them:
>
> ln -s config/ckrm/things config/ckrm/groups/family1
I am not able to come out file my basic filesystem usage to understand
this. I 'll look at configfs docs to understand this clearer.
> The callback for links allows access checks, and allows the ckrm code to
> do whatever internal linkage it wants. The symlink is internally a
> direct link (list_head) htat will lock family1 into place until the link
> is removed.
> I make this point because I got the impression from the bits
> below that you want to add things to these groups. Which makes sense.
> If your groups needed attributes, you could even have
>
> configfs/ckrm/groups
> family1
> attr1
> attr2
> members
>
> but you probably already guessed that.
Here is how RG/CKRM uses configfs:
- A Resource group is a group of tasks that uses specified amount of
resources.
- A Resource group is represented by a directory in configfs filesystem.
- Each directory has few attributes
- shares, list the amount of resource that group is allowed (rw)
- stats, usage statistics of the group (ro)
- members, list of tasks that are member of this group (rw)
- There can be subdirectories. they have same characteristics.
- Directories/subdirectories are created by user.
- By default, there is a high level directory, which also has the
same above mentioned characteristics.
The problem we have with is the members file, whose content could exceed
PAGE_SIZE when more than ~1000 tasks are in a group.
>
> > > > If not, a seq_file-based fix sounds OK to me. We don't have to actually
> > > > merge it until something which needs it is also in-tree, but a 1000-item
>
> Please, help me be VERY CAREFUL about this. configfs is not and
> was never designed to be a catch-all filesystem. It is purposely small
> and simple, so that it doesn't become the next sysfs or procfs. The
> more windows you allow people, the more they can screw up lifetimes &tc.
> If you need to dump a lot of data, sysfs and procfs can do this just
> fine. GFS2-DLM and OCFS2 both make use of configfs AND sysfs, doing
> config-y things in configfs and other things in sysfs.
> I've had the issue of large configuration bits in the back of my
> mind for a while, really. In general, I do not want to expose any
> generic "add some generic thing to the tree" functionality EVER, because
> that leads to the abuses we see in procfs and sysfs. The
> file-as-attribute mechanism it uses (and sysfs uses in the simpler
> cases) is a nicely locked down, purpose-based interface.
We choose configfs instead of sysfs after following the guidance in the
doc.
Basically we wanted a "file-system based manager of kernel object"
rather than a "file-system based view of a kernel object".
I think we could implement in sysfs also. But, doesn't sysfs also have
the PAGE_SIZE limitation.
> When I think about "Who else could take advantage of configfs?",
> the number one candidate I can think of is device-mapper. Something
> like:
>
> # mkdir config/dm/dm-0
> # echo linear > config/dm/dm-0/type
> # echo '0 2000 /dev/sda1 0' > config/dm/dm-0/table
> # echo 1 > config/dm/dm-0/live
>
> but this runs into the large attribute problem as well. device-mapper
> tables can easily be bigger than 4K, so config/dm/dm-N/table wouldn't be
> big enough.
> I'm open to suggestions as to how to create a "large attribute"
> type, but it really should be something that is purpose-based. configfs
> is for userspace to create a kernel object and get or set attributes on
> that object. That object might create its own interfaces in sysfs, it
> might do other things, who knows. "Large attribute" support should not
> be an open-ended chance to create another sysfs. If it belongs in
> sysfs, it belongs in sysfs, not configfs.
>
> > > > limit (depends on PAGE_SIZE, too?) is silly.
>
> PAGE_SIZE is a holdover from the sysfs attr code I ripped off.
> Perhaps MIN_PAGE_SIZE is better. 4K is as much as one should need for
> this. It's not right that an ia64 can put more data in than an x86.
> We should have a common size for an attr value across all platforms.
>
> Joel
>
--
----------------------------------------------------------------------
Chandra Seetharaman | Be careful what you choose....
- [EMAIL PROTECTED] | .......you may get it.
----------------------------------------------------------------------
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
ckrm-tech mailing list
https://lists.sourceforge.net/lists/listinfo/ckrm-tech