26 Apr, 2014

1 commit


08 Apr, 2014

1 commit


26 Feb, 2014

1 commit

  • This commit fixes the follwoing warning:

    kernel/ksysfs.c:143:5: warning: symbol 'rcu_expedited' was not declared. Should it be static?

    Signed-off-by: Paul Gortmaker
    [ paulmck: Moved the declaration to include/linux/rcupdate.h to avoid
    including the RCU-internal rcu.h file outside of RCU. ]
    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul Gortmaker
     

24 Jan, 2014

1 commit

  • Right now we seem to be exporting the max data size contained inside
    vmcoreinfo note. But this does not include the size of meta data around
    vmcore info data. Like name of the note and starting and ending elf_note.

    I think user space expects total size and that size is put in PT_NOTE elf
    header. Things seem to be fine so far because we are not using vmcoreinfo
    note to the maximum capacity. But as it starts filling up, to capacity,
    at some point of time, problem will be visible.

    I don't think user space will be broken with this change. So there is no
    need to introduce vmcoreinfo2. This change is safe and backward
    compatible. More explanation on why this change is safe is below.

    vmcoreinfo contains information about kernel which user space needs to
    know to do things like filtering. For example, various kernel config
    options or information about size or offset of some data structures etc.
    All this information is commmunicated to user space with an ELF note
    present in ELF /proc/vmcore file.

    Currently vmcoreinfo data size is 4096. With some elf note meta data
    around it, actual size is 4132 bytes. But we are using barely 25% of that
    size. Rest is empty. So even if we tell user space that size of ELf note
    is 4096 and not 4132, nothing will be broken becase after around 1000
    bytes, everything is zero anyway.

    But once we start filling up the note to the capacity, and not report the
    full size of note, bad things will start happening. Either some data will
    be lost or tools will be confused that they did not fine the zero note at
    the end.

    So I think this change is safe and should not break existing tools.

    Signed-off-by: Vivek Goyal
    Cc: Ken'ichi Ohmichi
    Cc: Dan Aloni
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     

13 Sep, 2013

1 commit


12 Dec, 2012

1 commit

  • Pull RCU update from Ingo Molnar:
    "The major features of this tree are:

    1. A first version of no-callbacks CPUs. This version prohibits
    offlining CPU 0, but only when enabled via CONFIG_RCU_NOCB_CPU=y.
    Relaxing this constraint is in progress, but not yet ready
    for prime time. These commits were posted to LKML at
    https://lkml.org/lkml/2012/10/30/724.

    2. Changes to SRCU that allows statically initialized srcu_struct
    structures. These commits were posted to LKML at
    https://lkml.org/lkml/2012/10/30/296.

    3. Restructuring of RCU's debugfs output. These commits were posted
    to LKML at https://lkml.org/lkml/2012/10/30/341.

    4. Additional CPU-hotplug/RCU improvements, posted to LKML at
    https://lkml.org/lkml/2012/10/30/327.
    Note that the commit eliminating __stop_machine() was judged to
    be too-high of risk, so is deferred to 3.9.

    5. Changes to RCU's idle interface, most notably a new module
    parameter that redirects normal grace-period operations to
    their expedited equivalents. These were posted to LKML at
    https://lkml.org/lkml/2012/10/30/739.

    6. Additional diagnostics for RCU's CPU stall warning facility,
    posted to LKML at https://lkml.org/lkml/2012/10/30/315.
    The most notable change reduces the
    default RCU CPU stall-warning time from 60 seconds to 21 seconds,
    so that it once again happens sooner than the softlockup timeout.

    7. Documentation updates, which were posted to LKML at
    https://lkml.org/lkml/2012/10/30/280.
    A couple of late-breaking changes were posted at
    https://lkml.org/lkml/2012/11/16/634 and
    https://lkml.org/lkml/2012/11/16/547.

    8. Miscellaneous fixes, which were posted to LKML at
    https://lkml.org/lkml/2012/10/30/309.

    9. Finally, a fix for an lockdep-RCU splat was posted to LKML
    at https://lkml.org/lkml/2012/11/7/486."

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (49 commits)
    context_tracking: New context tracking susbsystem
    sched: Mark RCU reader in sched_show_task()
    rcu: Separate accounting of callbacks from callback-free CPUs
    rcu: Add callback-free CPUs
    rcu: Add documentation for the new rcuexp debugfs trace file
    rcu: Update documentation for TREE_RCU debugfs tracing
    rcu: Reduce default RCU CPU stall warning timeout
    rcu: Fix TINY_RCU rcu_is_cpu_rrupt_from_idle check
    rcu: Clarify memory-ordering properties of grace-period primitives
    rcu: Add new rcutorture module parameters to start/end test messages
    rcu: Remove list_for_each_continue_rcu()
    rcu: Fix batch-limit size problem
    rcu: Add tracing for synchronize_sched_expedited()
    rcu: Remove old debugfs interfaces and also RCU flavor name
    rcu: split 'rcuhier' to each flavor
    rcu: split 'rcugp' to each flavor
    rcu: split 'rcuboost' to each flavor
    rcu: split 'rcubarrier' to each flavor
    rcu: Fix tracing formatting
    rcu: Remove the interface "rcudata.csv"
    ...

    Linus Torvalds
     

29 Nov, 2012

1 commit


24 Oct, 2012

1 commit

  • There have been some embedded applications that would benefit from
    use of expedited grace-period primitives. In some ways, this is
    similar to synchronize_net() doing either a normal or an expedited
    grace period depending on lock state, but with control outside of
    the kernel.

    This commit therefore adds rcu_expedited boot and sysfs parameters
    that cause the kernel to substitute expedited primitives for the
    normal grace-period primitives.

    [ paulmck: Add trace/event/rcu.h to kernel/srcu.c to avoid build error.
    Get rid of infinite loop through contention path.]

    Signed-off-by: Antti P Miettinen
    Signed-off-by: Paul E. McKenney

    Antti P Miettinen
     

31 Oct, 2011

2 commits


20 Apr, 2011

1 commit

  • A kernel booted with no_file_caps allows to install fscaps on a binary
    but doesn't actually honor the fscaps when running the binary. Userspace
    currently has no sane way to determine whether installing fscaps
    actually has any effect. Since parsing /proc/cmdline is fragile this
    patch exposes the current setting (1 or 0) via /sys/kernel/fscaps

    Signed-off-by: Ludwig Nussel
    Signed-off-by: Greg Kroah-Hartman

    Ludwig Nussel
     

22 May, 2010

1 commit


08 Mar, 2010

1 commit


05 Feb, 2010

1 commit


21 Jan, 2010

1 commit

  • Remove the USER_SCHED feature. It has been scheduled to be removed in
    2.6.34 as per http://marc.info/?l=linux-kernel&m=125728479022976&w=2

    Signed-off-by: Dhaval Giani
    Signed-off-by: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Dhaval Giani
     

16 Dec, 2009

1 commit

  • Implement shrinking the reserved memory for crash kernel, if it is more
    than enough.

    For example, if you have already reserved 128M, now you just want 100M,
    you can do:

    # echo $((100*1024*1024)) > /sys/kernel/kexec_crash_size

    Note, you can only do this before loading the crash kernel.

    Signed-off-by: WANG Cong
    Cc: Neil Horman
    Acked-by: Eric W. Biederman
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Amerigo Wang
     

07 Jan, 2009

1 commit


17 Oct, 2008

1 commit

  • Way too often, I have a machine that exhibits some kind of crappy
    behavior. The CPU looks wedged in the kernel or it is spending way too
    much system time and I wonder what is responsible.

    I try to run readprofile. But, of course, Ubuntu doesn't enable it by
    default. Dang!

    The reason we boot-time enable it is that it takes a big bufffer that we
    generally can only bootmem alloc. But, does it hurt to at least try and
    runtime-alloc it?

    To use:
    echo 2 > /sys/kernel/profile

    Then run readprofile like normal.

    This should fix the compile issue with allmodconfig. I've compile-tested
    on a bunch more configs now including a few more architectures.

    Signed-off-by: Dave Hansen
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Hansen
     

25 Jan, 2008

6 commits

  • There is no need for kobject_unregister() anymore, thanks to Kay's
    kobject cleanup changes, so replace all instances of it with
    kobject_put().

    Cc: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • kernel_kset does not need to be a kset, but a much simpler kobject now
    that we have kobj_attributes.

    We also rename kernel_kset to kernel_kobj to catch all users of this
    symbol with a build error instead of an easy-to-ignore build warning.

    Cc: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Clean up the use of ksets and kobjects. Kobjects are instances of
    objects (like struct user_info), ksets are collections of objects of a
    similar type (like the uids directory containing the user_info directories).
    So, use kobjects for the user_info directories, and a kset for the "uids"
    directory.

    On object cleanup, the final kobject_put() was missing.

    Cc: Dhaval Giani
    Cc: Srivatsa Vaddagiri
    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • Switch all dynamically created ksets, that export simple attributes,
    to kobj_attribute from subsys_attribute. Struct subsys_attribute will
    be removed.

    Signed-off-by: Kay Sievers
    Cc: Mike Halcrow
    Cc: Phillip Hellewell
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • Dynamically create the kset instead of declaring it statically. We also
    rename kernel_subsys to kernel_kset to catch all users of this symbol
    with a build error instead of an easy-to-ignore build warning.

    Cc: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • We don't need a "default" ktype for a kset. We should set this
    explicitly every time for each kset. This change is needed so that we
    can make ksets dynamic, and cleans up one of the odd, undocumented
    assumption that the kset/kobject/ktype model has.

    This patch is based on a lot of help from Kay Sievers.

    Nasty bug in the block code was found by Dave Young

    Cc: Kay Sievers
    Cc: Dave Young
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

17 Oct, 2007

2 commits

  • [1/3] Cleanup the coding style according to Andrew's comments:
    http://lists.infradead.org/pipermail/kexec/2007-August/000522.html
    - vmcoreinfo_append_str() should have suitable __attribute__s so that
    the compiler can check its use.
    - vmcoreinfo_max_size should have size_t.
    - Use get_seconds() instead of xtime.tv_sec.
    - Use init_uts_ns.name.release instead of UTS_RELEASE.

    Signed-off-by: Ken'ichi Ohmichi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ken'ichi Ohmichi
     
  • This patch set frees the restriction that makedumpfile users should install a
    vmlinux file (including the debugging information) into each system.

    makedumpfile command is the dump filtering feature for kdump. It creates a
    small dumpfile by filtering unnecessary pages for the analysis. To
    distinguish unnecessary pages, it needs a vmlinux file including the debugging
    information. These days, the debugging package becomes a huge file, and it is
    hard to install it into each system.

    To solve the problem, kdump developers discussed it at lkml and kexec-ml. As
    the result, we reached the conclusion that necessary information for dump
    filtering (called "vmcoreinfo") should be embedded into the first kernel file
    and it should be accessed through /proc/vmcore during the second kernel.
    (http://www.uwsg.iu.edu/hypermail/linux/kernel/0707.0/1806.html)

    Dan Aloni created the patch set for the above implementation.
    (http://www.uwsg.iu.edu/hypermail/linux/kernel/0707.1/1053.html)

    And I updated it for multi architectures and memory models.
    (http://lists.infradead.org/pipermail/kexec/2007-August/000479.html)

    Signed-off-by: Dan Aloni
    Signed-off-by: Ken'ichi Ohmichi
    Signed-off-by: Bernhard Walle
    Signed-off-by: Daisuke Nishimura
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ken'ichi Ohmichi
     

15 Oct, 2007

1 commit

  • Add tunables in sysfs to modify a user's cpu share.

    A directory is created in sysfs for each new user in the system.

    /sys/kernel/uids//cpu_share

    Reading this file returns the cpu shares granted for the user.
    Writing into this file modifies the cpu share for the user. Only an
    administrator is allowed to modify a user's cpu share.

    Ex:
    # cd /sys/kernel/uids/
    # cat 512/cpu_share
    1024
    # echo 2048 > 512/cpu_share
    # cat 512/cpu_share
    2048
    #

    Signed-off-by: Srivatsa Vaddagiri
    Signed-off-by: Dhaval Giani
    Signed-off-by: Ingo Molnar

    Dhaval Giani
     

21 Jul, 2007

1 commit

  • Make it possible to use __start_notes and __stop_notes without getting a GPREL
    overflow error from the FRV linker.

    Small variables that would otherwise be in .data or .bss may, depending on the
    arch, be placed in special sections (.sdata or .sbss) that permit single
    instruction references on fixed instruction width machines.

    __start_notes and __stop_notes aren't really char variables, and certainly
    don't refer to data in .data or .bss. Making them type "void" fools the
    compiler into not assuming anything about them.

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     

20 Jul, 2007

1 commit

  • This patch adds the /sys/kernel/notes magic file. Reading this delivers the
    contents of the kernel's .notes section. This lets userland easily glean any
    detailed information about the running kernel's build that was stored there at
    compile time.

    Signed-off-by: Roland McGrath
    Cc: Andi Kleen
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roland McGrath
     

03 May, 2007

1 commit


01 Jul, 2006

1 commit


23 Jun, 2006

1 commit

  • Create two files in /sys/kernel, kexec_loaded and kexec_crash_loaded. Each
    file contains a simple boolean value indicating whether the relevant kernel
    has been loaded into memory. The motivation for this is geared around
    support.

    Signed-off-by: Jeff Moyer
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Moyer
     

24 Mar, 2006

1 commit


21 Mar, 2006

1 commit


11 Jan, 2006

1 commit

  • - Kexec on panic functionality allocates memory for saving cpu registers in
    case of system crash event. Address of this allocated memory needs to be
    exported to user space, which is used by kexec-tools.

    - Previously, a single /sys/kernel/crash_notes entry was being exported as
    memory allocated was a single continuous array. Now memory allocation being
    dyanmic and per cpu based, address of per cpu buffer is exported through
    "/sys/devices/system/cpu/cpuX/crash_notes"

    Signed-off-by: Vivek Goyal
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     

05 Jan, 2006

3 commits

  • lib/lib.a(kobject_uevent.o)(.text+0x25f): In function `kobject_uevent':
    : undefined reference to `__alloc_skb'
    lib/lib.a(kobject_uevent.o)(.text+0x2a1): In function `kobject_uevent':
    : undefined reference to `skb_over_panic'
    lib/lib.a(kobject_uevent.o)(.text+0x31d): In function `kobject_uevent':
    : undefined reference to `skb_over_panic'
    lib/lib.a(kobject_uevent.o)(.text+0x356): In function `kobject_uevent':
    : undefined reference to `netlink_broadcast'
    lib/lib.a(kobject_uevent.o)(.init.text+0x9): In function `kobject_uevent_init':
    : undefined reference to `netlink_kernel_create'
    make: *** [.tmp_vmlinux1] Error 1

    Netlink is unconditionally enabled if CONFIG_NET, so that's OK.

    kobject_uevent.o is compiled even if !CONFIG_HOTPLUG, which is lazy.

    Let's compound the sin.

    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    akpm@osdl.org
     
  • Leave the overloaded "hotplug" word to susbsystems which are handling
    real devices. The driver core does not "plug" anything, it just exports
    the state to userspace and generates events.

    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • This deprecates the /proc/sys/kernel/hotplug file, as all
    this stuff should be in /sys some day, right? :)
    In /sys/kernel/ we have now uevent_seqnum and uevent_helper.
    The seqnum is no longer used by udev, as the version for this
    kernel depends on netlink which events will never get
    out-of-order.

    Recent udev versions disable the /sbin/hotplug helper with
    an init script, cause it leads to OOM on big boxes by running
    hundreds of shells in parallel. It should be done now by:
    echo "" > /sys/kernel/uevent_helper

    (Note that "-n" does not work, cause neighter proc nor sysfs
    support truncate().)

    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     

26 Jun, 2005

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds