27 Mar, 2006

5 commits

  • Cosmetic indentation/formatting cleanup for EDAC code. Make sure we
    are using tabs rather than spaces to indent, etc.

    Signed-off-by: David S. Peterson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Peterson
     
  • - Fix code so we always hold mem_ctls_mutex while we are stepping
    through the list of mem_ctl_info structures. Otherwise bad things
    may happen if one task is stepping through the list while another
    task is modifying it. We may eventually want to use reference
    counting to manage the mem_ctl_info structures. In the meantime we
    may as well fix this bug.

    - Don't disable interrupts while we are walking the list of
    mem_ctl_info structures in check_mc_devices(). This is unnecessary.

    Signed-off-by: David S. Peterson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Peterson
     
  • - After we unregister a kobject, wait for our kobject release method
    to call complete(). This causes us to wait until the kobject
    reference count reaches 0. Otherwise, a task accessing the EDAC
    sysfs interface can hold the reference count above 0 until after the
    EDAC module has been unloaded. When the reference count finally
    drops to 0, this will result in an attempt to call our release
    method inside the EDAC module after the module has already been
    unloaded.

    This isn't the best fix, since a process can get stuck sleeping forever
    uninterruptibly if the user does the following:

    rmmod my_module < /sys/my_sysfs/file

    I'll go back and implement a better fix later. However this should
    be ok for now.

    - Call edac_remove_sysfs_mci_device() from edac_mc_del_mc() rather
    than from edac_mc_free(). Since edac_mc_add_mc() calls
    edac_create_sysfs_mci_device(), edac_mc_del_mc() should call
    edac_remove_sysfs_mci_device().

    Signed-off-by: David S. Peterson
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Peterson
     
  • Perform the following name substitutions on all source files:

    sed 's/BS_MOD_STR/EDAC_MOD_STR/g'
    sed 's/bs_thread_info/edac_thread_info/g'
    sed 's/bs_thread/edac_thread/g'
    sed 's/bs_xstr/edac_xstr/g'
    sed 's/bs_str/edac_str/g'

    The names that start with BS_ or bs_ are artifacts of when the code
    was called "bluesmoke".

    Signed-off-by: David S. Peterson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Peterson
     
  • This implements the following idea:

    On Monday 30 January 2006 19:22, Eric W. Biederman wrote:
    > One piece missing from this conversation is the issue that we need errors
    > in a uniform format. That is why edac_mc has helper functions.
    >
    > However there will always be errors that don't fit any particular model.
    > Could we add a edac_printk(dev, ); That is similar to dev_printk but
    > prints out an EDAC header and the device on which the error was found?
    > Letting the rest of the string be user specified.
    >
    > For actual control that interface may be to blunt, but at least for people
    > looking in the logs it allows all of the errors to be detected and
    > harvested.

    Signed-off-by: David S. Peterson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Peterson
     

19 Jan, 2006

1 commit

  • This is a subset of the bluesmoke project core code, stripped of the NMI work
    which isn't ready to merge and some of the "interesting" proc functionality
    that needs reworking or just has no place in kernel. It requires no core
    kernel changes except the added scrub functions already posted.

    The goal is to merge further functionality only after the core code is
    accepted and proven in the base kernel, and only at the point the upstream
    extras are really ready to merge.

    From: doug thompson

    This converts EDAC to sysfs and is the final chunk neccessary before EDAC
    has a stable user space API and can be considered for submission into the
    base kernel.

    Signed-off-by: Alan Cox
    Signed-off-by: Adrian Bunk
    Signed-off-by: Jesper Juhl
    Signed-off-by: doug thompson
    Signed-off-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox