1. 03 Sep, 2003 40 commits
    • David S. Miller's avatar
      Merge nuts.ninka.net:/disk1/davem/BK/net-2.5 · a587017c
      David S. Miller authored
      into kernel.bkbits.net:/home/davem/net-2.5
      a587017c
    • Harald Welte's avatar
      [NETFILTER]: NAT range calculation fix. · 87461060
      Harald Welte authored
      This patch fixes a logic bug in NAT range calculations, which also
      causes a large slowdown when ICMP floods go through NAT.
      
      Author: Karlis Peisenieks
      87461060
    • Andrew Morton's avatar
      [PATCH] MODULE_ALIAS for tty ldisc · 6cea4e9e
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      Rather than hardcoded names in modprobe, modules can offer their own
      aliases (which can be overridden by the config file).
      
      Here are the tty-ldisc ones.
      6cea4e9e
    • Andrew Morton's avatar
      [PATCH] cciss error handling cleanup · 80e01029
      Andrew Morton authored
      From: mike.miller@hp.com
      
      Clean up the error handling in cciss_init_one().
      80e01029
    • Andrew Morton's avatar
      [PATCH] hermes.h fails with outw_p() in :? · 74a93fb5
      Andrew Morton authored
      From: Michael Pruznick <michael_pruznick@mvista.com>
      
      build errors:
        hermes.h: In function `hermes_set_irqmask':
        hermes.h:337: parse error before "do"
        hermes.h:337: parse error before ';' token
        hermes.h: In function `hermes_write_words':
      
      In mips, outw_p() is a #define do...while(0) which, in the case of ?:,
      results in a statement being used where an expression is required.
      74a93fb5
    • Andrew Morton's avatar
      [PATCH] drivers/scsi/imm.c build fix · 1f5fd6aa
      Andrew Morton authored
      1f5fd6aa
    • Andrew Morton's avatar
      [PATCH] Remove Documentation/kmod.txt · a07fccd5
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      Please delete Documentation/kmod.txt: it's entirely outdated and misleading.
      
      I thought about rewriting it, but there's not much to add beyond what's in
      the CONFIG_KMOD's help text.
      a07fccd5
    • Andrew Morton's avatar
      [PATCH] i8042 free_irq() aliasing fix · f5fe7f06
      Andrew Morton authored
      The same address `i8042_request_irq_cookie' is used in three places for the
      i8042 request_irq() argument.  This means that if someone calls
      i8042_check_mux() or i8042_check_aux() while the IRQ is in use, the
      free_irq() call in there will free the wrong IRQ handler.
      
      So give all three instances of request_irq() in i8042.c a distinct address by
      which to identify the IRQ instance.
      
      (This is probably a non-bug, because the `check' functions are not called
      when the device is open, but it is better this way).
      f5fe7f06
    • Andrew Morton's avatar
      [PATCH] devfs pty fix · 188f11a1
      Andrew Morton authored
      From: Andrew Lunn <andrew@lunn.ch>
      
      Create the pty slaves on init so the behaviour is consistant with 2.4 and 2.6
      without devfs.
      188f11a1
    • Andrew Morton's avatar
      [PATCH] Enable SELinux via boot parameter · de4716fd
      Andrew Morton authored
      From: James Morris <jmorris@redhat.com>
      
      This patch adds an 'selinux' boot parameter which must be used to actually
      enable SELinux.
      
      It follows some internal discussion about deployment issues, where a vendor
      would want to ship a single kernel image with SELinux built-in, without
      requiring the user to use it.
      
      Without specifying selinux=1 as a boot parameter, SELinux will not register
      with LSM and selinuxfs will not be registered as a filesystem.  This causes
      SELinux to be bypassed entirely from then on, and no performance overhead
      is imposed.  Other security modules may then also be loaded if needed.
      de4716fd
    • Andrew Morton's avatar
      [PATCH] Remove percpufication of in_flight counter in · 046dbb49
      Andrew Morton authored
      From: Ravikiran G Thirumalai <kiran@in.ibm.com>
      
      The routine disk_round_stats showed up considerably under oprofile for high
      disk io load (four processes doing dd to the same disk (different
      partitions) on a 4 way).
      
      This is because the counter in_flight which is per-cpu right now gets read
      every time disk_round_stats gets called.  Per cpu counters like disk
      statistics improve write speed, but reads are slow (since all cpus' local
      counter values have to be read and summed up).  Considering the fact that
      in_flight counter is modified post disk_round_stats (which reads the
      in_flight counter) it is better not to per-cpu this counter.
      
      Following patch does just that.  Below is the profile comparison before and
      after the change.  This was on a 4 way PIII Xeon, 1G ram, 2.6.0-test4-mm2. 
      
      Before:
      c010aa60 2910109  92.2249     poll_idle
      c0275340 23208    0.73549     __copy_to_user_ll
      c02753b0 11191    0.354657    __copy_from_user_ll
      c0114aa0 7168     0.227163    mark_offset_tsc
      c011ad10 6767     0.214455    schedule
      c011a2b0 6741     0.213631    load_balance
      c0138890 6710     0.212648    __generic_file_aio_write_nolock
      c011d302 4683     0.14841     .text.lock.sched
      c02e4b50 4533     0.143656    ahc_linux_isr
      c029cec0 3582     0.113518    disk_round_stats
      c0119b40 3509     0.111205    try_to_wake_up
      c029d320 3306     0.104771    __make_request
      c01567d0 3300     0.104581    __block_write_full_page
      c0156c00 3299     0.104549    __block_prepare_write
      
      After:
      c010aa60 2777940  92.1302     poll_idle
      c0275340 23479    0.778679    __copy_to_user_ll
      c02753b0 10943    0.362924    __copy_from_user_ll
      c0114aa0 7022     0.232884    mark_offset_tsc
      c0138890 6988     0.231757    __generic_file_aio_write_nolock
      c011ad10 6607     0.219121    schedule
      c011d302 5771     0.191395    .text.lock.sched
      c02e4a60 4458     0.147849    ahc_linux_isr
      c011a2b0 3921     0.13004     load_balance
      c01567d0 3569     0.118366    __block_write_full_page
      c029d2a0 3540     0.117404    __make_request
      ...
      c029ceb0 311      0.0103143   disk_round_stats
      c011d5b0 299      0.00991631  remove_wait_queue
      046dbb49
    • Andrew Morton's avatar
      [PATCH] MODULE_ALIAS() in char devices · 95759639
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      Previously, default aliases were hardwired into modutils.  Now they should
      be inside the modules, using MODULE_ALIAS() (they will be overridden by any
      user alias).
      95759639
    • Andrew Morton's avatar
      [PATCH] MODULE_ALIAS() in block devices · e46674c8
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      Previously, default aliases were hardwired into modutils.  Now they should
      be inside the modules, using MODULE_ALIAS() (they will be overridden by any
      user alias).
      e46674c8
    • Andrew Morton's avatar
      [PATCH] might_sleep() improvements · 5eebb6f2
      Andrew Morton authored
      From: Mitchell Blank Jr <mitch@sfgoth.com>
      
      This patch makes the following improvements to might_sleep():
      
       o Add a "might_sleep_if()" macro for when we might sleep only if some
         condition is met.  It's a bit tidier, and has an unlikely() in it.
      
       o Add might_sleep checks to skb_share_check() and skb_unshare() which
         sometimes need to allocate memory.
      
       o Make all architectures call might_sleep() in both down() and
         down_interruptible().  Before only ppc, ppc64, and i386 did this check.
         (sh did the check on down() but not down_interruptible())
      5eebb6f2
    • Andrew Morton's avatar
      [PATCH] more slab page checking · 55308a20
      Andrew Morton authored
      Add checks for kfree() of a page which was allocated with __alloc_pages(),
      and for free_pages() of a page which was allocated with kmalloc().
      55308a20
    • Andrew Morton's avatar
      [PATCH] proc_misc.c needs irq.h · 6571a956
      Andrew Morton authored
      fs/proc/proc_misc.c: In function `show_stat':
      fs/proc/proc_misc.c:423: `irq_desc' undeclared (first use in this function)
      6571a956
    • Andrew Morton's avatar
      [PATCH] 8250_acpi taints kernel · 0dabddb1
      Andrew Morton authored
      From: Dmitry Torokhov <dtor_core@ameritech.net>
      
      8250_acpi module does not have MODULE_LICENSE specified.  8250_gsc does not
      have it either but as I can't compile it I did not touch it.
      0dabddb1
    • Andrew Morton's avatar
      [PATCH] elevator insertion fixes · 1cfcda6a
      Andrew Morton authored
      From: Nick Piggin <piggin@cyberone.com.au>
      
      This fixes a bug in deadline and AS that causes insert_here to be ignored on
      blk_fs_requests. This has been causing problems with SCSI requeueing code.
      It makes elevator insertion more correct as advertised wrt insert_here and
      REQ_SOFTBARRIER.
      
      It also fixes a buglet in the as_requeue code where the request wasn't being
      put into the front of the list (in rare cases).
      1cfcda6a
    • Andrew Morton's avatar
      [PATCH] add config option for qla1280 SCSI MMIO/ioport · c12f96f2
      Andrew Morton authored
      From: Andrey Panin <pazke@donpac.ru>
      
      Add a config option which allows ioport/mmio selection for QLA1280 SCSI
      driver.
      
      With this patch applied QLA1280 can be used on Visws again.
      c12f96f2
    • Andrew Morton's avatar
      [PATCH] Fix rtc symbol clash and HPET config problems · 56928c85
      Andrew Morton authored
      The new HPET RTC emulation code uses a function in rtc.c, get_rtc_time().
      
      So that function was made non-static.  Problem is, the same function name is
      used elsewhere by some architectures, so there will be linkage problems.
      
      And rtc_get_time() is used too, so I renamed it to rtc_get_rtc_time().
      
      Also, the HPET code was setting CONFIG_HPET_EMULATE_RTC by hand in a header
      file.  Fix it to use the Kconfig system properly.
      56928c85
    • Andrew Morton's avatar
      [PATCH] convert /proc/stat to seq_file · b465fc74
      Andrew Morton authored
      From: "Randy.Dunlap" <rddunlap@osdl.org>
      
      Anton needs this for ppc64.  Things overflow with a huge number of CPUs.
      b465fc74
    • Andrew Morton's avatar
      [PATCH] Fix odd code in bio_add_page · ad1ee2b1
      Andrew Morton authored
      From: Neil Brown <neilb@cse.unsw.edu.au>
      
      With the current code in bio_add_page, if fail_segments is ever set, it
      stays set, so bio_add_page will eventually fail having recounted the
      segmentation once.
      
      I don't think this is intended.  This patch changes the code to allow
      success if the recounting the segments helps.
      
      (Jens has acked this)
      ad1ee2b1
    • Andrew Morton's avatar
      [PATCH] misc fixes · 36f9e5f4
      Andrew Morton authored
      - non_fatal.c comment fix (Zwane Mwaikambo <zwane@linuxpower.ca>)
      
      - s/elevator/io scheduler/ in ll_rw_blk.c (Jens)
      
      - update KJ mailing list address ("Randy.Dunlap" <rddunlap@osdl.org>)
      
      - unused var in riscom8.c (Adrian Bunk <bunk@fs.tum.de>)
      
      - add help texts to two OSS drivers (Adrian Bunk <bunk@fs.tum.de>)
      
      - "PCMCIA SCSI adapter support" requires CONFIG_MODULES (Adrian Bunk
        <bunk@fs.tum.de>)
      36f9e5f4
    • Hideaki Yoshifuji's avatar
    • David S. Miller's avatar
      d2231420
    • Randy Dunlap's avatar
      5c84b8c4
    • Randy Dunlap's avatar
      [NET]: remove duplicate #includes in net/ · e5fae76f
      Randy Dunlap authored
      e5fae76f
    • Stephen Hemminger's avatar
      [NET]: Convert ltpc to new initialization. · c9f8652f
      Stephen Hemminger authored
      Originally from Al Viro
      NE11-ltpc
      * switched ltpc to dynamic allocation
      * ltpc: embedded ->priv
      * ltpc: fixed bugs in DMA allocation
      * ltpc: fixed resource leaks on failure exits
      * ltpc: fixed part of timer bugs (still a-f**ing-plenty of those)
      * ltpc: fixed order of freeing bugs
      Added
      * switch to free_netdev
      c9f8652f
    • Stephen Hemminger's avatar
      [NET]: Loopback device simplification. · 4e39f29b
      Stephen Hemminger authored
      Now that all the magic chain of static devices is gone from Space.c
      The initialization of the one remaining static device (ie the loopback driver)
      can be simplified.
      
      One small change was to reduce possibility of failing the initialization if
      allocation of private data failed by just going without statistics.
      4e39f29b
    • Stephen Hemminger's avatar
      [NET]: Convert sbni initialization. · 4976b816
      Stephen Hemminger authored
      Convert sbni driver
      - new probing
      - single allocation using alloc_netdev for private data
      4976b816
    • Stephen Hemminger's avatar
      [NET]: Convert tr probes to probe_old_netdevs(). · 11897753
      Stephen Hemminger authored
      Analogous to previous patch.  Instead of dev_base list of static
      entries, use a loop and dynamically allocate devices.
      
      Tested only the 'no hardware' case.
      11897753
    • Stephen Hemminger's avatar
      [NET]: Convert ether probes to probe_old_netdevs(). · 5691ce00
      Stephen Hemminger authored
      Convert old ethernet device probing from dev_base linked list
      to the probe_old_netdevs.
      
      Blame me for this one ;-)
      
      Builds and runs, but don't have old ISA hardware to really test it.
      So please find some or review it carefully.
      5691ce00
    • Stephen Hemminger's avatar
      [NET]: Convert cops over to new initialization. · fc9e0793
      Stephen Hemminger authored
      More from Al
      NE12-cops
      * switched cops to dynamic allocation
      * cops: embedded ->priv
      * cops: fixed ->irq clobbering on autoprobe
      Added
      * free_netdev
      fc9e0793
    • Stephen Hemminger's avatar
      [NET]: Convert SDLA to new initialization. · 51845e3a
      Stephen Hemminger authored
      Based on Al viro's NE10-sdla
      * switched sdla to dynamic allocation
      * sdla: embedded ->priv
      * sdla: fixed resource leaks on failure exits
      Additionally fixes.
      * get rid of cli/sti
      * get rid of MOD/INC
      
      Builds and probes, but don't have the hardware.
      Driver has never built on 2.6 before this.
      51845e3a
    • Stephen Hemminger's avatar
      [NET]: Add probe_old_netdevs() hook. · 775b2356
      Stephen Hemminger authored
      This set of patches is a mixture of Al's work to device initialization,
      and some of my own to complete it for all the ether, tr, sbni, and loopback
      devices.
      
      The first patch adds the hook for converting old driver initialization
      code over to dynamic allocation.
      
      This part extracted from Al viro's set of net driver changes for ethertap.
      775b2356
    • François Romieu's avatar
      1a66af8c
    • Stephen Hemminger's avatar
      [NET]: DLCI driver cleanups for 2.6.x · db390c0e
      Stephen Hemminger authored
        
      - keep list of arrays for devices and use a lock
      - make sure header is contiguous before overlaying data structure
      - dynamically allocate dev->priv with alloc_netdev
      - get rid of MOD_INC/DEC
      - free devices on module unload
      - keep refcount on slave device's since holding a ptr
      db390c0e
    • Mitchell Blank Jr.'s avatar
      [ATM]: Lanai driver updates. · 7a3817cd
      Mitchell Blank Jr. authored
      o Big performance improvement.  The version of the driver in the kernel
        still had a "mdelay(1)" after every register write.  This capped
        performance at about 8Mbps and ate tons of CPU time.  (Luckily, most
        users of this card are just terminating a DSL line where its not too
        noticeable)
      
        However, after removing this delay the card started getting out of
        sync with the driver under stress tests.  After a couple days of chasing
        the bug I finally determine that the card's support for transmitting
        partial PDUs just doesn't quite work as advertised (before we would send
        a partial PDU to completely fill a VCC's transmit buffer and then send
        the rest of the skb when more buffer space filled up).  The usefulness of
        this is somewhat doubtful anyway and removing it cleaned up a lot of code.
      
        I also added some memory barriers to make sure operations to the card
        happen in the correct order.
      
        Now for the first time ever we get near line-rate performance out of this
        card (~19Mb/s TCP in netperf between two ~300Mhz machines)
      
      o Locking changes (essentially the patch Chas sent me a couple weeks ago
        with some minor tweaking)  I'm still not sure we're getting 100% of the
        cases right but it's definitely FAR better than the old lock-less version.
      
      o Cleanup the backlog draining code in lanai_shutdown_tx_vci()
      
      o Remove outdated comment describing how to compile the module
      
      o Got rid of the "service_novcc_[tr]x" stats - it's really the same error
        as "service_[tr]x" - there's no reason to count them separately.
      
      o Use the ATM_25_PCR constant instead of computing it for ourselves
      7a3817cd
    • Chas Williams's avatar
    • Jeff Garzik's avatar
      [NET]: Fix ethtool_ops thinko in sungem.c · 70150e54
      Jeff Garzik authored
      70150e54