Hi All,

f-series CKRM went thru a major overhaul, mainly to reduce the codesize
and make it easy to understand.

As usual, I uploaded the patches to the project website in two formats.

External visible changes are:
For user:
        guarantee, limit, total_guarantee and max_limit are replaced by
        min_shares - same usage as guarantee
        max_shares - same usage as limit
        child_shares_divisor  - replaces both total_guarantee and max_limit

        config file is removed, instead we are now using module parameters
        changeable through /sys/module/

        attribute file is removed.

For Resource controller writers:
        all the interfaces between core and controller now use a shares
        data structures (instead of a void *). See the usage in numtasks
        controller.

        config file is removed. See usage of module parameters in numtasks
        controller.

        When shares are changed by the user, the controller now only get
        notified after the fields of the shares struture is changed.

        When allocing and returning the shares structure, controller can
        set specific field of the shares structure to be UNSUPPORTED, and
        users will not be able to change that parameter(for ex: max_shares)

Patch descriptions:
01/12 - ckrm_core
        This patch defines data structures for defining a class and resource
        controller.
        Provides register/unregister functions for a controller.
        Provides utility functions to get a controller's data structure.

02/12 - ckrm_core_class_support

        Provides functions to alloc and free a user defined class.
        Provides utility macro to walk through the class hierarchy

03/12 - ckrm_core_handle_shares

        Provides functions to set/get shares of a specific resource of a class
        Defines a teardown function that is intended to be called when user
        disables CKRM (by umount of RCFS)

04/12 - ckrm_tasksupport

        Adds logic to support adding/removing task to/from a class
        Provides interface to set a task's class

05/12 - ckrm_tasksupport_fork_exit_init

        Initializes and clears ckrm specific information in a task at fork()
        and exit().
        Inititalizes ckrm (called from start_kernel)

06/12: ckrm_tasksupport_procsupport

        Adds an interface in /proc to get the class name of a task.

07/12 - ckrm_configfs_rcfs

        Create the filesystem(RCFS) for managing CKRM. Hooks up with configfs.
        Provides functions for creating and deleting classes.

08/12 - ckrm_configfs_rcfs_attr_support

        Adds the basic attribute store and show functions.

09/12 - 04ckrm_configfs_rcfs_stats

        Adds attr_store and attr_show support for stats file.

10/12 - ckrm_configfs_rcfs_shares

        Adds attr_store and attr_show support for shares file.

11/12 - ckrm_configfs_rcfs_members

        Adds attr_store and attr_show support for members file.

12/12 - ckrm_docs

        Documentation describing important CKRM elements such as classes,
        shares, controllers, and the interface provided to userspace via RCFS

-- 

----------------------------------------------------------------------
    Chandra Seetharaman               | Be careful what you choose....
              - [EMAIL PROTECTED]   |      .......you may get it.
----------------------------------------------------------------------


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
ckrm-tech mailing list
https://lists.sourceforge.net/lists/listinfo/ckrm-tech

Reply via email to