17 Jul, 2007

14 commits

  • Make zonelist creation policy selectable from sysctl/boot option v6.

    This patch makes NUMA's zonelist (of pgdat) order selectable.
    Available order are Default(automatic)/ Node-based / Zone-based.

    [Default Order]
    The kernel selects Node-based or Zone-based order automatically.

    [Node-based Order]
    This policy treats the locality of memory as the most important parameter.
    Zonelist order is created by each zone's locality. This means lower zones
    (ex. ZONE_DMA) can be used before higher zone (ex. ZONE_NORMAL) exhausion.
    IOW. ZONE_DMA will be in the middle of zonelist.
    current 2.6.21 kernel uses this.

    Pros.
    * A user can expect local memory as much as possible.
    Cons.
    * lower zone will be exhansted before higher zone. This may cause OOM_KILL.

    Maybe suitable if ZONE_DMA is relatively big and you never see OOM_KILL
    because of ZONE_DMA exhaution and you need the best locality.

    (example)
    assume 2 node NUMA. node(0) has ZONE_DMA/ZONE_NORMAL, node(1) has ZONE_NORMAL.

    *node(0)'s memory allocation order:

    node(0)'s NORMAL -> node(0)'s DMA -> node(1)'s NORMAL.

    *node(1)'s memory allocation order:

    node(1)'s NORMAL -> node(0)'s NORMAL -> node(0)'s DMA.

    [Zone-based order]
    This policy treats the zone type as the most important parameter.
    Zonelist order is created by zone-type order. This means lower zone
    never be used bofere higher zone exhaustion.
    IOW. ZONE_DMA will be always at the tail of zonelist.

    Pros.
    * OOM_KILL(bacause of lower zone) occurs only if the whole zones are exhausted.
    Cons.
    * memory locality may not be best.

    (example)
    assume 2 node NUMA. node(0) has ZONE_DMA/ZONE_NORMAL, node(1) has ZONE_NORMAL.

    *node(0)'s memory allocation order:

    node(0)'s NORMAL -> node(1)'s NORMAL -> node(0)'s DMA.

    *node(1)'s memory allocation order:

    node(1)'s NORMAL -> node(0)'s NORMAL -> node(0)'s DMA.

    bootoption "numa_zonelist_order=" and proc/sysctl is supporetd.

    command:
    %echo N > /proc/sys/vm/numa_zonelist_order

    Will rebuild zonelist in Node-based order.

    command:
    %echo Z > /proc/sys/vm/numa_zonelist_order

    Will rebuild zonelist in Zone-based order.

    Thanks to Lee Schermerhorn, he gives me much help and codes.

    [Lee.Schermerhorn@hp.com: add check_highest_zone to build_zonelists_in_zone_order]
    [akpm@linux-foundation.org: build fix]
    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Lee Schermerhorn
    Cc: Christoph Lameter
    Cc: Andi Kleen
    Cc: "jesse.barnes@intel.com"
    Signed-off-by: Lee Schermerhorn
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • Beacuse SERIAL_PORT_DFNS is removed from include/asm-i386/serial.h and
    include/asm-x86_64/serial.h. the serial8250_ports need to be probed late in
    serial initializing stage. the console_init=>serial8250_console_init=>
    register_console=>serial8250_console_setup will return -ENDEV, and console
    ttyS0 can not be enabled at that time. need to wait till uart_add_one_port in
    drivers/serial/serial_core.c to call register_console to get console ttyS0.
    that is too late.

    Make early_uart to use early_param, so uart console can be used earlier. Make
    it to be bootconsole with CON_BOOT flag, so can use console handover feature.
    and it will switch to corresponding normal serial console automatically.

    new command line will be:
    console=uart8250,io,0x3f8,9600n8
    console=uart8250,mmio,0xff5e0000,115200n8
    or
    earlycon=uart8250,io,0x3f8,9600n8
    earlycon=uart8250,mmio,0xff5e0000,115200n8

    it will print in very early stage:
    Early serial console at I/O port 0x3f8 (options '9600n8')
    console [uart0] enabled
    later for console it will print:
    console handover: boot [uart0] -> real [ttyS0]

    Signed-off-by:
    Cc: Andi Kleen
    Cc: Bjorn Helgaas
    Cc: Russell King
    Cc: Gerd Hoffmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yinghai Lu
     
  • Needed to get fixed virtual address for USB debug and earlycon with mmio.

    Signed-off-by: Eric W. Biderman
    Signed-off-by: Yinghai Lu
    Cc: Andi Kleen
    Cc: Bjorn Helgaas
    Cc: Russell King
    Cc: Gerd Hoffmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biderman
     
  • for earlyprintk=ttyS0,9600 console=tty0 console=ttyS0,9600n8

    the handover will happen from earlyser0 to tty0. but what we want is to
    hand over to ttyS0.

    Later with serial-convert-early_uart-to-earlycon-for-8250.patch,

    console=tty0 console=uart8250,io,0x3f8,9600n8

    will handover to ttyS0 instead of tty0.

    Signed-off-by: Yinghai Lu
    Cc: Andi Kleen
    Cc: Bjorn Helgaas
    Cc: Russell King
    Cc: Gerd Hoffmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yinghai Lu
     
  • Change name to buf according to the usage as name + index

    Signed-off-by: Yinghai Lu
    Cc: Andi Kleen
    Cc: Bjorn Helgaas
    Cc: Russell King
    Cc: Gerd Hoffmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yinghai Lu
     
  • Some RS-232 devices require DTR to be asserted before they can be used. DTR
    is normally asserted in uart_startup() when the port is opened. But we don't
    actually open serial console ports, so assert DTR when the port is added.

    BTW:
    earlyprintk and early_uart are hard coded to set DTR/RTS.

    rmk says

    The only issue I can think of is the possibility for an attached modem to
    auto-answer or maybe even auto-dial before the system is ready for it to do
    so. Might have an undesirable cost implication for some running with such a
    setup.

    Apart from that, I can't think of any other side effect of this specific
    patch.

    Signed-off-by: Yinghai Lu
    Acked-by: Russell King
    Cc: Andi Kleen
    Cc: Bjorn Helgaas
    Cc: Gerd Hoffmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yinghai Lu
     
  • Remove all ids from the given idr tree. idr_destroy() only frees up
    unused, cached idp_layers, but this function will remove all id mappings
    and leave all idp_layers unused.

    A typical clean-up sequence for objects stored in an idr tree, will use
    idr_for_each() to free all objects, if necessay, then idr_remove_all() to
    remove all ids, and idr_destroy() to free up the cached idr_layers.

    Signed-off-by: Kristian Hoegsberg
    Cc: Tejun Heo
    Cc: Dave Airlie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kristian Hoegsberg
     
  • This patch adds an iterator function for the idr data structure. Compared
    to just iterating through the idr with an integer and idr_find, this
    iterator is (almost, but not quite) linear in the number of elements, as
    opposed to the number of integers in the range covered by the idr. This
    makes a difference for sparse idrs, but more importantly, it's a nicer way
    to iterate through the elements.

    The drm subsystem is moving to idr for tracking contexts and drawables, and
    with this change, we can use the idr exclusively for tracking these
    resources.

    [akpm@linux-foundation.org: fix comment]
    Signed-off-by: Kristian Hoegsberg
    Cc: Tejun Heo
    Cc: Dave Airlie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kristian Hoegsberg
     
  • This version brings a number of new checks, fixes for flase
    positives, plus a clarification of the output to better guide use. Of
    note:

    - checks for documentation for new __setup calls
    - clearer reporting where braces and parenthesis are involved
    - reports for closing brace and semi-colon spacing
    - reports on unwanted externs

    This patch includes an update to the documentation on checkpatch.pl
    itself to clarify when it should be used and to indicate that it
    is not intended as the final arbitor of style.

    Full changelog:

    Andy Whitcroft (19):
    Version: 0.07
    ensure we do not apply control brace checks to preprocesor directives
    add {u,s}{8,16,32,64} to the type matcher
    accept lack of spacing after the semicolons in for (;;)
    report new externs in .c files
    fix up typedef exclusion for function prototypes
    else trailing statements check need to account for \ at end of line
    add enums to the type matcher
    add missing check descriptions
    suppress double reporting of ** spacing
    report on do{ spacing issues
    include an example of the brace/parenthesis in output
    check for spacing after closing braces
    prevent double reports on pointer spacing issues
    handle blank continuation lines on macros
    classify all reports error, warning, or check
    revamp hanging { checks and apply in context
    no spaces after the last ; in a for is ok
    check __setup has a corresponding addition to documentation

    David Woodhouse (1):
    limit character set used in patches and descriptions to UTF-8

    Signed-off-by: Andy Whitcroft
    Cc: David Woodhouse
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Whitcroft
     
  • This is a correction for a macro which gives worst case compressed data
    size by LZO1X.

    This patch was provided by the LZO author (Markus Oberhumer).

    Signed-off-by: Nitin Gupta
    Cc: "Markus F.X.J. Oberhumer"
    Cc: "Richard Purdie"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nitin Gupta
     
  • Add entries to MAINTAINERS for I/OAT and DMAENGINE

    Signed-off-by: Shannon Nelson
    Cc: Chris Leech
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nelson, Shannon
     
  • We have to check that also the second checkpoint list is non-empty before
    dropping the transaction.

    Signed-off-by: Jan Kara
    Cc: Chuck Ebbert
    Cc: Kirill Korotaev
    Cc:
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Kara
     
  • We have to check that also the second checkpoint list is non-empty before
    dropping the transaction.

    Signed-off-by: Jan Kara
    Cc: Chuck Ebbert
    Cc: Kirill Korotaev
    Cc:
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Kara
     
  • Recent breakage..

    net/sunrpc/auth_gss/auth_gss.c:1002: warning: implicit declaration of function 'lock_kernel'
    net/sunrpc/auth_gss/auth_gss.c:1004: warning: implicit declaration of function 'unlock_kernel'

    Cc: Trond Myklebust
    Cc: "J. Bruce Fields"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

16 Jul, 2007

24 commits

  • * git://git.infradead.org/battery-2.6:
    git-battery vs git-acpi
    Power supply class and drivers: remove non obligatory return statements
    pda_power: clean up irq, timer
    MAINTAINERS: Add maintainers for power supply subsystem and drivers

    Fixed up trivial conflict in drivers/w1/slaves/w1_ds2760.c manually

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (166 commits)
    [SCSI] ibmvscsi: convert to use the data buffer accessors
    [SCSI] dc395x: convert to use the data buffer accessors
    [SCSI] ncr53c8xx: convert to use the data buffer accessors
    [SCSI] sym53c8xx: convert to use the data buffer accessors
    [SCSI] ppa: coding police and printk levels
    [SCSI] aic7xxx_old: remove redundant GFP_ATOMIC from kmalloc
    [SCSI] i2o: remove redundant GFP_ATOMIC from kmalloc from device.c
    [SCSI] remove the dead CYBERSTORMIII_SCSI option
    [SCSI] don't build scsi_dma_{map,unmap} for !HAS_DMA
    [SCSI] Clean up scsi_add_lun a bit
    [SCSI] 53c700: Remove printk, which triggers because of low scsi clock on SNI RMs
    [SCSI] sni_53c710: Cleanup
    [SCSI] qla4xxx: Fix underrun/overrun conditions
    [SCSI] megaraid_mbox: use mutex instead of semaphore
    [SCSI] aacraid: add 51245, 51645 and 52245 adapters to documentation.
    [SCSI] qla2xxx: update version to 8.02.00-k1.
    [SCSI] qla2xxx: add support for NPIV
    [SCSI] stex: use resid for xfer len information
    [SCSI] Add Brownie 1200U3P to blacklist
    [SCSI] scsi.c: convert to use the data buffer accessors
    ...

    Linus Torvalds
     
  • * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (53 commits)
    [TCP]: Verify the presence of RETRANS bit when leaving FRTO
    [IPV6]: Call inet6addr_chain notifiers on link down
    [NET_SCHED]: Kill CONFIG_NET_CLS_POLICE
    [NET_SCHED]: act_api: qdisc internal reclassify support
    [NET_SCHED]: sch_dsmark: act_api support
    [NET_SCHED]: sch_atm: act_api support
    [NET_SCHED]: sch_atm: Lindent
    [IPV6]: MSG_ERRQUEUE messages do not pass to connected raw sockets
    [IPV4]: Cleanup call to __neigh_lookup()
    [NET_SCHED]: Revert "avoid transmit softirq on watchdog wakeup" optimization
    [NETFILTER]: nf_conntrack: UDPLITE support
    [NETFILTER]: nf_conntrack: mark protocols __read_mostly
    [NETFILTER]: x_tables: add connlimit match
    [NETFILTER]: Lower *tables printk severity
    [NETFILTER]: nf_conntrack: Don't track locally generated special ICMP error
    [NETFILTER]: nf_conntrack: Introduces nf_ct_get_tuplepr and uses it
    [NETFILTER]: nf_conntrack: make l3proto->prepare() generic and renames it
    [NETFILTER]: nf_conntrack: Increment error count on parsing IPv4 header
    [NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices.
    [AF_IUCV]: Add lock when updating accept_q
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
    9p: fix a race condition bug in umount which caused a segfault
    9p: re-enable mount time debug option
    9p: cache meta-data when cache=loose
    net/9p: set error to EREMOTEIO if trans->write returns zero
    net/9p: change net/9p module name to 9pnet
    9p: Reorganization of 9p file system code

    Linus Torvalds
     
  • * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: (37 commits)
    [XFS] Fix lockdep annotations for xfs_lock_inodes
    [LIB]: export radix_tree_preload()
    [XFS] Fix XFS_IOC_FSBULKSTAT{,_SINGLE} & XFS_IOC_FSINUMBERS in compat mode
    [XFS] Compat ioctl handler for handle operations
    [XFS] Compat ioctl handler for XFS_IOC_FSGEOMETRY_V1.
    [XFS] Clean up function name handling in tracing code
    [XFS] Quota inode has no parent.
    [XFS] Concurrent Multi-File Data Streams
    [XFS] Use uninitialized_var macro to stop warning about rtx
    [XFS] XFS should not be looking at filp reference counts
    [XFS] Use is_power_of_2 instead of open coding checks
    [XFS] Reduce shouting by removing unnecessary macros from dir2 code.
    [XFS] Simplify XFS min/max macros.
    [XFS] Kill off xfs_count_bits
    [XFS] Cancel transactions on xfs_itruncate_start error.
    [XFS] Use do_div() on 64 bit types.
    [XFS] Fix remount,readonly path to flush everything correctly.
    [XFS] Cleanup inode extent size hint extraction
    [XFS] Prevent ENOSPC from aborting transactions that need to succeed
    [XFS] Prevent deadlock when flushing inodes on unmount
    ...

    Linus Torvalds
     
  • It depends on tristate I2C and it's trivial to make modular. The
    current Kconfig allows I2C=m, I2C_ACORN=y, which doesn't work at
    all; alternatives are dependency on I2C=y and making I2C_ACORN
    itself a tristate. The latter is the right thing to do...

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds
    Acked-by: Russell King

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds
    Acked-by: Russell King

    Al Viro
     
  • Fallout from commit 91a6902958f052358899f58683d44e36228d85c2 ('sysfs:
    add parameter "struct bin_attribute *" ...')

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Acked-by: Jeff Garzik
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Acked-by: Jeff Garzik
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • s390 is the only 32bit with unsigned long for size_t (usual for those
    is unsigned int). Tell sparse...

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • It returns __sum16, not unsigned int

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • ... so all proud owners of s390-based PDAs will have to live without that one

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Going through the string and waiting for _pointer_ to become '\0'
    is not what the authors meant...

    Signed-off-by: Al Viro
    Acked-by: Ben Collins
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Shows how many people are testing coda - the bug had been there for 5 years
    and results of stepping on it are not subtle.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • still looks racy (and definitely leaks)

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • drivers/w1/slaves/w1_ds2760.c:85: warning: initialization from incompatible pointer type

    The ACPI guys changed the bin_attr APIs
    (commit 91a6902958f052358899f58683d44e36228d85c2)

    Cc: Anton Vorontsov
    Cc: Len Brown
    Signed-off-by: Andrew Morton

    Andrew Morton
     
  • Per Jeff Garzik request.

    Signed-off-by: Jeff Garzik
    Signed-off-by: Anton Vorontsov

    Anton Vorontsov
     
  • Clean up pda_power interrupt handling:

    Prior to this patch, the driver would pass information it needed
    to the interrupt handler dev_id pointer, and then prompt forget it
    ever did so, recreating that same information after a couple passes
    through the timer-based state machine.

    This patch removes the redundant checks by passing the
    pda_power_supply[] pointer through the state machine. The current
    code passed 'irq' through the state machine, as an index to recreate
    the pointer, when we could more simply pass around the pointer itself.

    This patch makes it easier to remove the 'irq' argument in the future,
    in addition to cleaning up the driver today.

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • Signed-off-by: Anton Vorontsov
    Acked-by: David Woodhouse

    Anton Vorontsov
     

15 Jul, 2007

2 commits