04 Jul, 2006

3 commits


02 Jul, 2006

1 commit


01 Jul, 2006

4 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:
    Remove obsolete #include
    remove obsolete swsusp_encrypt
    arch/arm26/Kconfig typos
    Documentation/IPMI typos
    Kconfig: Typos in net/sched/Kconfig
    v9fs: do not include linux/version.h
    Documentation/DocBook/mtdnand.tmpl: typo fixes
    typo fixes: specfic -> specific
    typo fixes in Documentation/networking/pktgen.txt
    typo fixes: occuring -> occurring
    typo fixes: infomation -> information
    typo fixes: disadvantadge -> disadvantage
    typo fixes: aquire -> acquire
    typo fixes: mecanism -> mechanism
    typo fixes: bandwith -> bandwidth
    fix a typo in the RTC_CLASS help text
    smb is no longer maintained

    Manually merged trivial conflict in arch/um/kernel/vmlinux.lds.S

    Linus Torvalds
     
  • The remaining counters in page_state after the zoned VM counter patches
    have been applied are all just for show in /proc/vmstat. They have no
    essential function for the VM.

    We use a simple increment of per cpu variables. In order to avoid the most
    severe races we disable preempt. Preempt does not prevent the race between
    an increment and an interrupt handler incrementing the same statistics
    counter. However, that race is exceedingly rare, we may only loose one
    increment or so and there is no requirement (at least not in kernel) that
    the vm event counters have to be accurate.

    In the non preempt case this results in a simple increment for each
    counter. For many architectures this will be reduced by the compiler to a
    single instruction. This single instruction is atomic for i386 and x86_64.
    And therefore even the rare race condition in an interrupt is avoided for
    both architectures in most cases.

    The patchset also adds an off switch for embedded systems that allows a
    building of linux kernels without these counters.

    The implementation of these counters is through inline code that hopefully
    results in only a single instruction increment instruction being emitted
    (i386, x86_64) or in the increment being hidden though instruction
    concurrency (EPIC architectures such as ia64 can get that done).

    Benefits:
    - VM event counter operations usually reduce to a single inline instruction
    on i386 and x86_64.
    - No interrupt disable, only preempt disable for the preempt case.
    Preempt disable can also be avoided by moving the counter into a spinlock.
    - Handling is similar to zoned VM counters.
    - Simple and easily extendable.
    - Can be omitted to reduce memory use for embedded use.

    References:

    RFC http://marc.theaimsgroup.com/?l=linux-kernel&m=113512330605497&w=2
    RFC http://marc.theaimsgroup.com/?l=linux-kernel&m=114988082814934&w=2
    local_t http://marc.theaimsgroup.com/?l=linux-kernel&m=114991748606690&w=2
    V2 http://marc.theaimsgroup.com/?t=115014808400007&r=1&w=2
    V3 http://marc.theaimsgroup.com/?l=linux-kernel&m=115024767022346&w=2
    V4 http://marc.theaimsgroup.com/?l=linux-kernel&m=115047968808926&w=2

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Currently a single atomic variable is used to establish the size of the page
    cache in the whole machine. The zoned VM counters have the same method of
    implementation as the nr_pagecache code but also allow the determination of
    the pagecache size per zone.

    Remove the special implementation for nr_pagecache and make it a zoned counter
    named NR_FILE_PAGES.

    Updates of the page cache counters are always performed with interrupts off.
    We can therefore use the __ variant here.

    Signed-off-by: Christoph Lameter
    Cc: Trond Myklebust
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Signed-off-by: Jörn Engel
    Signed-off-by: Adrian Bunk

    Jörn Engel
     

29 Jun, 2006

12 commits


28 Jun, 2006

2 commits

  • This patch reverts notifier_block changes made in 2.6.17

    Signed-off-by: Chandra Seetharaman
    Cc: Ashok Raj
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chandra Seetharaman
     
  • With Goto-san's patch, we can add new pgdat/node at runtime. I'm now
    considering node-hot-add with cpu + memory on ACPI.

    I found acpi container, which describes node, could evaluate cpu before
    memory. This means cpu-hot-add occurs before memory hot add.

    In most part, cpu-hot-add doesn't depend on node hot add. But register_cpu(),
    which creates symbolic link from node to cpu, requires that node should be
    onlined before register_cpu(). When a node is onlined, its pgdat should be
    there.

    This patch-set holds off creating symbolic link from node to cpu
    until node is onlined.

    This removes node arguments from register_cpu().

    Now, register_cpu() requires 'struct node' as its argument. But the array of
    struct node is now unified in driver/base/node.c now (By Goto's node hotplug
    patch). We can get struct node in generic way. So, this argument is not
    necessary now.

    This patch also guarantees add cpu under node only when node is onlined. It
    is necessary for node-hot-add vs. cpu-hot-add patch following this.

    Moreover, register_cpu calculates cpu->node_id by cpu_to_node() without regard
    to its 'struct node *root' argument. This patch removes it.

    Also modify callers of register_cpu()/unregister_cpu, whose args are changed
    by register-cpu-remove-node-struct patch.

    [Brice.Goglin@ens-lyon.org: fix it]
    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Yasunori Goto
    Cc: Ashok Raj
    Cc: Dave Hansen
    Signed-off-by: Brice Goglin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     

27 Jun, 2006

3 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:
    typo fixes
    Clean up 'inline is not at beginning' warnings for usb storage
    Storage class should be first
    i386: Trivial typo fixes
    ixj: make ixj_set_tone_off() static
    spelling fixes
    fix paniced->panicked typos
    Spelling fixes for Documentation/atomic_ops.txt
    move acknowledgment for Mark Adler to CREDITS
    remove the bouncing email address of David Campbell

    Linus Torvalds
     
  • Storage class should be before const

    Signed-off-by: Tobias Klauser
    Signed-off-by: Adrian Bunk

    Tobias Klauser
     
  • acquired (aquired)
    contiguous (contigious)
    successful (succesful, succesfull)
    surprise (suprise)
    whether (weather)
    some other misspellings

    Signed-off-by: Andreas Mohr
    Signed-off-by: Adrian Bunk

    Andreas Mohr
     

26 Jun, 2006

3 commits

  • Up until now algorithms have been happy to get a context pointer since
    they know everything that's in the tfm already (e.g., alignment, block
    size).

    However, once we have parameterised algorithms, such information will
    be specific to each tfm. So the algorithm API needs to be changed to
    pass the tfm structure instead of the context pointer.

    This patch is basically a text substitution. The only tricky bit is
    the assembly routines that need to get the context pointer offset
    through asm-offsets.h.

    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • Various digest algorithms operate one block at a time and therefore
    keep a temporary buffer of partial blocks. This buffer does not need
    to be initialised since there is a counter which indicates what is and
    isn't valid in it.

    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • Cleanup & fix 31 bit compilation:

    CC arch/s390/kernel/setup.o
    arch/s390/kernel/setup.c:83: error: initializer element is not computable at
    load time
    arch/s390/kernel/setup.c:83: error: (near initialization for
    'code_resource.start')
    Not sure which patch in the -mm tree breaks this, but since this can be
    considered a cleanup it can be merged anyway.

    Cc: Martin Schwidefsky
    Signed-off-by: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     

23 Jun, 2006

2 commits

  • Update hypfs for dhowells API changes.

    Cc: Pekka Enberg
    Cc: Ingo Oeser
    Cc: Joern Engel
    Cc: Martin Schwidefsky
    Cc: Michael Holzheu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • On zSeries machines there exists an interface which allows the operating
    system to retrieve LPAR hypervisor accounting data. For example, it is
    possible to get usage data for physical and virtual cpus. In order to
    provide this information to user space programs, I implemented a new
    virtual Linux file system named 's390_hypfs' using the Linux 2.6 libfs
    framework. The name 's390_hypfs' stands for 'S390 Hypervisor Filesystem'.
    All the accounting information is put into different virtual files which
    can be accessed from user space. All data is represented as ASCII strings.

    When the file system is mounted the accounting information is retrieved and
    a file system tree is created with the attribute files containing the cpu
    information. The content of the files remains unchanged until a new update
    is made. An update can be triggered from user space through writing
    'something' into a special purpose update file.

    We create the following directory structure:

    /
    update
    cpus/

    type
    mgmtime

    ...
    hyp/
    type
    systems/

    cpus/

    type
    mgmtime
    cputime
    onlinetime

    ...

    cpus/
    ...

    - update: File to trigger update
    - cpus/: Directory for all physical cpus
    - cpus//: Directory for one physical cpu.
    - cpus//type: Type name of physical zSeries cpu.
    - cpus//mgmtime: Physical-LPAR-management time in microseconds.
    - hyp/: Directory for hypervisor information
    - hyp/type: Typ of hypervisor (currently only 'LPAR Hypervisor')
    - systems/: Directory for all LPARs
    - systems//: Directory for one LPAR.
    - systems//cpus//: Directory for the virtual cpus
    - systems//cpus//type: Typ of cpu.
    - systems//cpus//mgmtime:
    Accumulated number of microseconds during which a physical
    CPU was assigned to the logical cpu and the cpu time was
    consumed by the hypervisor and was not provided to
    the LPAR (LPAR overhead).

    - systems//cpus//cputime:
    Accumulated number of microseconds during which a physical CPU
    was assigned to the logical cpu and the cpu time was consumed
    by the LPAR.

    - systems//cpus//onlinetime:
    Accumulated number of microseconds during which the logical CPU
    has been online.

    As mount point for the filesystem /sys/hypervisor/s390 is created.

    The update process is triggered when writing 'something' into the
    'update' file at the top level hypfs directory. You can do this e.g.
    with 'echo 1 > update'. During the update the whole directory structure
    is deleted and built up again.

    Cc: Pekka Enberg
    Cc: Ingo Oeser
    Cc: Joern Engel
    Acked-by: Martin Schwidefsky
    Signed-off-by: Michael Holzheu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Holzheu
     

26 May, 2006

1 commit


22 May, 2006

1 commit

  • The 32 bit unsigned substraction (next - jiffies) in stop_hz_timer can
    overflow if jiffies gets advanced between next_timer_interrupt and the read
    under the xtime lock. The cast to a u64 then results in a large value
    which causes the cpu to wait too long. Fix this by casting next and
    jiffies independently to u64 before subtracting them.

    (Spotted by Zachary Amsden )

    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Martin Schwidefsky
     

16 May, 2006

2 commits


02 May, 2006

2 commits

  • * 'audit.b10' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
    [PATCH] Audit Filter Performance
    [PATCH] Rework of IPC auditing
    [PATCH] More user space subject labels
    [PATCH] Reworked patch for labels on user space messages
    [PATCH] change lspp ipc auditing
    [PATCH] audit inode patch
    [PATCH] support for context based audit filtering, part 2
    [PATCH] support for context based audit filtering
    [PATCH] no need to wank with task_lock() and pinning task down in audit_syscall_exit()
    [PATCH] drop task argument of audit_syscall_{entry,exit}
    [PATCH] drop gfp_mask in audit_log_exit()
    [PATCH] move call of audit_free() into do_exit()
    [PATCH] sockaddr patch
    [PATCH] deal with deadlocks in audit_free()

    Linus Torvalds
     
  • Consider return value of __put_user() when setting up a signal frame
    instead of ignoring it.

    Cc: Martin Schwidefsky
    Signed-off-by: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     

01 May, 2006

1 commit


28 Apr, 2006

3 commits

  • Add sys_set_robust_list, sys_get_robust_list, sys_splice, sys_sync_file and
    sys_tee system calls.

    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Martin Schwidefsky
     
  • Add a read_mostly section and define __read_mostly to prevent cache line
    pollution due to writes for mostly read variables. In addition fix the
    incorrect alignment of the cache_line_aligned data section. s390 has a
    cacheline size of 256 bytes.

    Signed-off-by: Christian Borntraeger
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christian Borntraeger
     
  • Print a warning with the z/VM error code if segment_load, segment_type or
    segment_save fail to ease the problem determination.

    Signed-off-by: Gerald Schaefer
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gerald Schaefer