17 Oct, 2007

15 commits

  • Partial write can be easily supported by LO_CRYPT_NONE mode, but it is not
    easy in LO_CRYPT_CRYPTOAPI case, because of its block nature. I don't know
    who still used cryptoapi, but theoretically it is possible. So let's leave
    things as they are. Loop device doesn't support partial write before
    Nick's "write_begin/write_end" patch set, and let's it behave the same way
    after.

    Signed-off-by: Dmitriy Monakhov
    Cc: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitry Monakhov
     
  • These are intended to replace prepare_write and commit_write with more
    flexible alternatives that are also able to avoid the buffered write
    deadlock problems efficiently (which prepare_write is unable to do).

    [mark.fasheh@oracle.com: API design contributions, code review and fixes]
    [akpm@linux-foundation.org: various fixes]
    [dmonakhov@sw.ru: new aop block_write_begin fix]
    Signed-off-by: Nick Piggin
    Signed-off-by: Mark Fasheh
    Signed-off-by: Dmitriy Monakhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • The commit b5810039a54e5babf428e9a1e89fc1940fabff11 contains the note

    A last caveat: the ZERO_PAGE is now refcounted and managed with rmap
    (and thus mapcounted and count towards shared rss). These writes to
    the struct page could cause excessive cacheline bouncing on big
    systems. There are a number of ways this could be addressed if it is
    an issue.

    And indeed this cacheline bouncing has shown up on large SGI systems.
    There was a situation where an Altix system was essentially livelocked
    tearing down ZERO_PAGE pagetables when an HPC app aborted during startup.
    This situation can be avoided in userspace, but it does highlight the
    potential scalability problem with refcounting ZERO_PAGE, and corner
    cases where it can really hurt (we don't want the system to livelock!).

    There are several broad ways to fix this problem:
    1. add back some special casing to avoid refcounting ZERO_PAGE
    2. per-node or per-cpu ZERO_PAGES
    3. remove the ZERO_PAGE completely

    I will argue for 3. The others should also fix the problem, but they
    result in more complex code than does 3, with little or no real benefit
    that I can see.

    Why? Inserting a ZERO_PAGE for anonymous read faults appears to be a
    false optimisation: if an application is performance critical, it would
    not be doing many read faults of new memory, or at least it could be
    expected to write to that memory soon afterwards. If cache or memory use
    is critical, it should not be working with a significant number of
    ZERO_PAGEs anyway (a more compact representation of zeroes should be
    used).

    As a sanity check -- mesuring on my desktop system, there are never many
    mappings to the ZERO_PAGE (eg. 2 or 3), thus memory usage here should not
    increase much without it.

    When running a make -j4 kernel compile on my dual core system, there are
    about 1,000 mappings to the ZERO_PAGE created per second, but about 1,000
    ZERO_PAGE COW faults per second (less than 1 ZERO_PAGE mapping per second
    is torn down without being COWed). So removing ZERO_PAGE will save 1,000
    page faults per second when running kbuild, while keeping it only saves
    less than 1 page clearing operation per second. 1 page clear is cheaper
    than a thousand faults, presumably, so there isn't an obvious loss.

    Neither the logical argument nor these basic tests give a guarantee of no
    regressions. However, this is a reasonable opportunity to try to remove
    the ZERO_PAGE from the pagefault path. If it is found to cause regressions,
    we can reintroduce it and just avoid refcounting it.

    The /dev/zero ZERO_PAGE usage and TLB tricks also get nuked. I don't see
    much use to them except on benchmarks. All other users of ZERO_PAGE are
    converted just to use ZERO_PAGE(0) for simplicity. We can look at
    replacing them all and maybe ripping out ZERO_PAGE completely when we are
    more satisfied with this solution.

    Signed-off-by: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus "snif" Torvalds

    Nick Piggin
     
  • We have flags to indicate whether a section actually has a valid mem_map
    associated with it. This is never set and we rely solely on the present bit
    to indicate a section is valid. By definition a section is not valid if it
    has no mem_map and there is a window during init where the present bit is set
    but there is no mem_map, during which pfn_valid() will return true
    incorrectly.

    Use the existing SECTION_HAS_MEM_MAP flag to indicate the presence of a valid
    mem_map. Switch valid_section{,_nr} and pfn_valid() to this bit. Add a new
    present_section{,_nr} and pfn_present() interfaces for those users who care to
    know that a section is going to be valid.

    [akpm@linux-foundation.org: coding-syle fixes]
    Signed-off-by: Andy Whitcroft
    Acked-by: Mel Gorman
    Cc: Christoph Lameter
    Cc: "Luck, Tony"
    Cc: Andi Kleen
    Cc: "David S. Miller"
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Whitcroft
     
  • Notebook manufacturer seems to built a newer Wacom pen enabled tablet to
    recent tablet pcs which are not recognized by the serial pnp driver.

    Attached is a patch which makes the newer Wacom WACF007 and WACF008 tablets
    useable with the serial driver. The device is fully compatible with it.

    Signed-off-by: Maik Broemme
    Cc: Andrey Panin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maik Broemme
     
  • The UPF_FIXED_PORT flags was introduced in 2.6.22 and it can be used
    instead of the driver specific verify_port routine.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     
  • Enable wakeup from serial ports, make it run-time configurable over sysfs,
    e.g.,

    echo enabled > /sys/devices/platform/serial8250.0/tty/ttyS0/power/wakeup

    Requires

    # CONFIG_SYSFS_DEPRECATED is not set

    Following suggestions from Alan and Russell moved the may_wake_up checks
    to serial_core.c. This time actually tested - it does even work. Could
    someone, please, verify, that put_device after device_find_child is
    correct?

    Also would be nice to test with a Natsemi UART, that can wake up the system,
    if such systems exist.

    For this you just have to apply the patch below, issue the above "echo"
    command to one of your Natsemi port, suspend and resume your system, and
    verify that your Natsemi port still works. If you are actually capable of
    waking up the system from that port, would be nice to test that as well.

    Signed-off-by: Guennadi Liakhovetski
    Cc: Alan Cox
    Cc: Russell King
    Cc: Kay Sievers
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Guennadi Liakhovetski
     
  • Add support for a whole range of boards. Some are partly autodetected but
    not fully correctly others (PCI Express notably) not at all. Stick all
    the right entries in.

    Thanks to Mainpine for information and testing.

    Signed-off-by: Alan Cox
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Do not include some header files already indluded by serial_core.h.

    Signed-off-by: Atsushi Nemoto
    Cc: Ralf Baechle
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     
  • Most non cardbus devices can't do dma, so flag them as such in the device
    creation routine.

    Signed-off-by: James Bottomley
    Cc: Andi Kleen
    Cc: Alan Cox
    Cc: Tejun Heo
    Cc: Natalie Protasevich
    Cc: Jeff Garzik
    Cc: Dominik Brodowski
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    James Bottomley
     
  • Add support for Sierra Wireless AC850 which has the same Ids as the
    AC710/750 but has a different firmware.

    Cc: Dominik Brodowski
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Leblond
     
  • Based on a patch by Haavard Skinnemoen posted to linux-pcmcia, but using
    static inlines for readability reasons. this should fix PCMCIA an AVR32

    Signed-off-by: Daniel Ritz
    Cc: Haavard Skinnemoen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Ritz
     
  • Only a few definitions is in xxs1500.h .
    They can be move to au1000_xxs1500.c .

    [m.kozlowski@tuxland.pl: fix unbalanced parenthesis]
    Signed-off-by: Yoichi Yuasa
    Cc: Ralf Baechle
    Cc: Dominik Brodowski
    Signed-off-by: Mariusz Kozlowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoichi Yuasa
     
  • Recently I've been trying to get working PCMCIA interface on H5000 ipaq
    series, using dual PCMCIA sleeve. So far things work correctly, but I had
    to do one modification to drivers/pcmcia/pxa2xx_base.c to get the interface
    working with orinoco gold PCMCIA card (wired pcnet_cs ethernet card worked
    even without this modification).

    The issue has something to do with assert time on PCMCIA bus, but I'm not
    really sure what -- I found the working value just by trial&error approach.
    I'm not sure how is the assert value in pxa2xx_mcxx_asst calculated (I
    know, simple formula, but the reason why is it calculated that way is not
    obvious for me), neither that my modification is correct. It just works
    with iPAQ.

    Cc: Russell King
    Cc: Richard Purdie
    Cc: Dominik Brodowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Milan Plzik
     
  • Use menuconfigs instead of menus, so the whole menu can be disabled at once
    instead of going through all options.

    Signed-off-by: Jan Engelhardt
    Cc: Dominik Brodowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Engelhardt
     

16 Oct, 2007

25 commits

  • Fix USB docbook warnings.

    Warning(linux-2.6.23-git8//include/linux/usb/gadget.h:487): No description found for parameter 'g'
    Warning(linux-2.6.23-git8//include/linux/usb/gadget.h:506): No description found for parameter 'g'

    Warning(linux-2.6.23-git8//drivers/usb/core/hub.c:1416): No description found for parameter 'usb_dev'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix libata docbook warnings.

    Warning(linux-2.6.23-git8//drivers/ata/libata-scsi.c:3251): No description found for parameter 'dev'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix kernel-api docbook warnings.

    Warning(linux-2.6.23-git8//drivers/message/fusion/mptscsih.c:2618): No description found for parameter 'sc'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (95 commits)
    [ARM] 4578/1: CM-x270: PCMCIA support
    [ARM] 4577/1: ITE 8152 PCI bridge support
    [ARM] 4576/1: CM-X270 machine support
    [ARM] pxa: Avoid pxa_gpio_mode() in gpio_direction_{in,out}put()
    [ARM] pxa: move pxa_set_mode() from pxa2xx_mainstone.c to mainstone.c
    [ARM] pxa: move pxa_set_mode() from pxa2xx_lubbock.c to lubbock.c
    [ARM] pxa: Make cpu_is_pxaXXX dependent on configuration symbols
    [ARM] pxa: PXA3xx base support
    [NET] smc91x: fix PXA DMA support code
    [SERIAL] Fix console initialisation ordering
    [ARM] pxa: tidy up arch/arm/mach-pxa/Makefile
    [ARM] Update arch/arm/Kconfig for drivers/Kconfig changes
    [ARM] 4600/1: fix kernel build failure with build-id-supporting binutils
    [ARM] 4599/1: Preserve ATAG list for use with kexec (2.6.23)
    [ARM] Rename consistent_sync() as dma_cache_maint()
    [ARM] 4572/1: ep93xx: add cirrus logic edb9307 support
    [ARM] 4596/1: S3C2412: Correct IRQs for SDI+CF and add decoding support
    [ARM] 4595/1: ns9xxx: define registers as void __iomem * instead of volatile u32
    [ARM] 4594/1: ns9xxx: use the new gpio functions
    [ARM] 4593/1: ns9xxx: implement generic clockevents
    ...

    Linus Torvalds
     
  • This driver was using hooks that were very recently removed.

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)
    [IPV6]: Consolidate the ip6_pol_route_(input|output) pair
    [TCP]: Make snd_cwnd_cnt 32-bit
    [TCP]: Update the /proc/net/tcp documentation
    [NETNS]: Don't panic on creating the namespace's loopback
    [NEIGH]: Ensure that pneigh_lookup is protected with RTNL
    [INET]: kmalloc+memset -> kzalloc in frag_alloc_queue
    [ISDN]: Fix compile with CONFIG_ISDN_X25 disabled.
    [IPV6]: Replace sk_buff ** with sk_buff * in input handlers
    [SELINUX]: Update for netfilter ->hook() arg changes.
    [INET]: Consolidate the xxx_put
    [INET]: Small cleanup for xxx_put after evictor consolidation
    [INET]: Consolidate the xxx_evictor
    [INET]: Consolidate the xxx_frag_destroy
    [INET]: Consolidate xxx_the secret_rebuild
    [INET]: Consolidate the xxx_frag_kill
    [INET]: Collect common frag sysctl variables together
    [INET]: Collect frag queues management objects together
    [INET]: Move common fields from frag_queues in one place.
    [TG3]: Fix performance regression on 5705.
    [ISDN]: Remove local copy of device name to make sure renames work.
    ...

    Linus Torvalds
     
  • There are standard keycodes for brightness and volume; map the events to
    emit them so that things work properly

    Signed-off-by: Jeremy Katz
    Signed-off-by: Linus Torvalds

    Jeremy Katz
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (40 commits)
    Input: use full RCU API
    Input: remove tsdev interface
    Input: add support for Blackfin BF54x Keypad controller
    Input: appletouch - another fix for idle reset logic
    HWMON: hdaps - switch to using input-polldev
    Input: add support for SEGA Dreamcast keyboard
    Input: omap-keyboard - don't pretend we support changing keymap
    Input: lifebook - fix X and Y axis range
    Input: usbtouchscreen - add support for GeneralTouch devices
    Input: fix open count handling in input interfaces
    Input: keyboard - add CapsShift lock
    Input: adbhid - produce all CapsLock key events
    Input: ALPS - add signature for ThinkPad R61
    Input: jornada720_kbd - send MSC_SCAN events
    Input: add support for the HP Jornada 7xx (710/720/728) touchscreen
    Input: add support for HP Jornada 7xx onboard keyboard
    Input: add support for HP Jornada onboard keyboard (HP6XX)
    Input: ucb1400_ts - use schedule_timeout_uninterruptible
    Input: xpad - fix dependancy on LEDS class
    Input: auto-select INPUT for MAC_EMUMOUSEBTN option
    ...

    Resolved conflicts manually in drivers/hwmon/applesmc.c: converting from
    a class device to a device and converting to use input-polldev created a
    few apparently trivial clashes..

    Linus Torvalds
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    [libata] pata_pcmcia: Add additional id string (corsair, 1GB)
    libata: prevent devices with blank model names from being DMA blacklisted
    ata_piix: SATA 2port controller port map fix
    pata_cs5536: ATA driver for Geode companion chip
    libata: add ST9160821AS / 3.CCD to NCQ blacklist
    libata: fix revalidation issuing after configuration commands
    [libata] sata_nv: add SW NCQ support for MCP51/MCP55/MCP61
    [libata] pata_sil680: Add MMIO support

    Linus Torvalds
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (35 commits)
    xen-netfront: rearrange netfront structure to separate tx and rx
    netdev: convert non-obvious instances to use ARRAY_SIZE()
    ucc_geth: Fix build break introduced by commit 09f75cd7bf13720738e6a196cc0107ce9a5bd5a0
    gianfar: Fix regression caused by new napi interface
    gianfar: Cleanup compile warning caused by 0795af57
    gianfar: Fix compile regression caused by bea3348e
    add new prom.h for AU1x00
    update AU1000 get_ethernet_addr()
    MIPSsim: General cleanup
    Jazzsonic: Fix warning about unused variable.
    Remove msic_dcr_read() in axon_msi.c
    Use dcr_host_t.base in dcr_unmap()
    Add dcr_host_t.base in dcr_read()/dcr_write()
    Use dcr_host_t.base in ibm_emac_mal
    Update ibm_newemac to use dcr_host_t.base
    tehuti: possible leak in bdx_probe
    TC35815: Fix build
    SAA9730: Fix build
    AR7 ethernet
    myri10ge: update driver version to 1.3.2-1.287
    ...

    Linus Torvalds
     
  • Keep tx and rx elements separate on different cachelines to prevent
    bouncing.

    Signed-off-by: Jeremy Fitzhardinge
    Acked-by: Jeff Garzik
    Cc: Stephen Hemminger
    Cc: Christoph Hellwig
    Signed-off-by: Jeff Garzik

    Jeremy Fitzhardinge
     
  • Atari keyboard: incorporate additional review comments:
    o Kill reference to source file name
    o Return error value from input_register_device() instead of -ENOMEM

    Signed-off-by: Geert Uytterhoeven
    Cc: Dmitry Torokhov
    Cc: Michael Schmitz
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • This will convert remaining non-obvious or naive calculations of array
    sizes to use ARRAY_SIZE() macro.

    Signed-off-by: Alejandro Martinez Ruiz
    Signed-off-by: Jeff Garzik

    Alejandro Martinez Ruiz
     
  • When the loopback device is failed to initialize inside the new
    namespaces, panic() is called. Do not do it when the namespace
    in question is not the init_net.

    Plus cleanup the error path a bit.

    Signed-off-by: Pavel Emelyanov
    Signed-off-by: David S. Miller

    Pavel Emelyanov
     
  • Commit 90833fdab89da02fc0276224167f0a42e5176f41 ("[ARM] 4554/1: replace
    consistent_sync() with flush_ioremap_region()") introduced a new
    "flush_ioremap_region()" function to be used by the MTD mainstone-flash
    and lubbock-flash drivers to fix a regression from around 2.6.18.

    Those drivers were independently merged into a single driver by Todd
    Poynor in commit e644f7d6289456657996df4192de76c5d0a9f9c7 ("[MTD] MAPS:
    Merge Lubbock and Mainstone drivers into common PXA2xx driver")

    Later, those two commits were merged into the main MTD tree by commit
    b160292cc216a50fd0cd386b0bda2cd48352c73b ("Merge Linux 2.6.23") by David
    Woodhouse, but in that merge, the fix to use flush_iomap_region() got
    lost (as it was to files that now no longer existed).

    This reinstates the fix in the new driver.

    Noticed-by: Russell King
    Tested-and-acked-by: Nicolas Pitre
    Cc: David Woodhouse
    Cc: Jared Hulbert
    Cc: Todd Poynor
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • On Mon, Oct 15, 2007 at 06:44:56PM +0400, Denis V. Lunev wrote:
    Compilation fix. The problem appears after
    7c076d1de869256848dacb8de0050a3a390f95df by Karsten Keil

    Acked-by: Karsten Keil
    Signed-off-by: Denis V. Lunev
    Signed-off-by: David S. Miller

    Denis V. Lunev
     
  • Signed-off-by: Kristoffer Ericson
    Signed-off-by: Jeff Garzik

    Kristoffer Ericson
     
  • If the gdth module is loaded (or compiled in), the gdth_timeout function
    gets started even if no actual gdth controllers are found b the probing.

    That ends up not only being unnecessary, but also causes a crash due to
    the function blindly just trying to pick the first entry off the
    "gdth_instances" list, and accessing it - which obviously doesn't work
    if the list is empty!

    Noticed by Ingo Molnar.

    Tested-by: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • The strn_pattern_cmp routine does not handle a blank name parameter
    properly. The only patterns which should match a blank name are "*"
    and an explicit "". If the function is passed a blank name in current
    code, it will always match against the patt parameter. The bug manifests
    itself as the device with the empty model name always matching the first
    device in the DMA blacklist, forcing it to revert to PIO mode.

    Signed-off-by: Andrew Paprocki
    Signed-off-by: Jeff Garzik

    Andrew Paprocki
     
  • This patch adds a port map for ICH9 and ICH8 SATA controllers that have only 2 ports available in that mode.

    Signed-off-by: Jason Gaston
    Signed-off-by: Jeff Garzik

    Jason Gaston
     
  • This is a driver for the ATA controller on the Geode CS5536 companion
    chip. The PCI device ID for this device was previously claimed by
    pata_amd.c but the PIO timings were not correct. This driver also
    works around a bug in some BIOSes that handle unaligned access to the
    PCI config registers poorly. Finally, the driver allows fallback to
    using MSR registers for configuration on BIOSes that are truly
    broken.

    Signed-off-by: Martin K. Petersen
    Signed-off-by: Jeff Garzik

    Martin K. Petersen
     
  • A performance regression was introduced by the following commit:

    commit ee6a99b539a50b4e9398938a0a6d37f8bf911550
    Author: Michael Chan
    Date: Wed Jul 18 21:49:10 2007 -0700

    [TG3]: Fix msi issue with kexec/kdump.

    In making that change, the PCI latency timer and cache line size
    registers were not restored after chip reset. On the 5705, the
    latency timer gets reset to 0 during chip reset and this causes
    very poor performance.

    Update version to 3.84.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Signed-off-by: Karsten Keil
    Signed-off-by: David S. Miller

    Karsten Keil
     
  • By the time we get to that switch by PHY type, we have 8bit
    value. No need to keep it in u64 when u8 would do.

    Signed-off-by: Al Viro
    Signed-off-by: David S. Miller

    Al Viro
     
  • Noticed by Coverity checker and reported by Adrian Bunk.

    Signed-off-by: David S. Miller

    David S. Miller