1. 07 Jul, 2005 6 commits
  2. 06 Jul, 2005 4 commits
  3. 05 Jul, 2005 6 commits
    • Rusty Lynch's avatar
      [PATCH] kprobes: fix namespace problem and sparc64 build · 6772926b
      Rusty Lynch authored
      
      
      The following renames arch_init, a kprobes function for performing any
      architecture specific initialization, to arch_init_kprobes in order to
      cleanup the namespace.
      
      Also, this patch adds arch_init_kprobes to sparc64 to fix the sparc64 kprobes
      build from the last return probe patch.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      6772926b
    • David S. Miller's avatar
      [TCP]: Move to new TSO segmenting scheme. · c1b4a7e6
      David S. Miller authored
      
      
      Make TSO segment transmit size decisions at send time not earlier.
      
      The basic scheme is that we try to build as large a TSO frame as
      possible when pulling in the user data, but the size of the TSO frame
      output to the card is determined at transmit time.
      
      This is guided by tp->xmit_size_goal.  It is always set to a multiple
      of MSS and tells sendmsg/sendpage how large an SKB to try and build.
      
      Later, tcp_write_xmit() and tcp_push_one() chop up the packet if
      necessary and conditions warrant.  These routines can also decide to
      "defer" in order to wait for more ACKs to arrive and thus allow larger
      TSO frames to be emitted.
      
      A general observation is that TSO elongates the pipe, thus requiring a
      larger congestion window and larger buffering especially at the sender
      side.  Therefore, it is important that applications 1) get a large
      enough socket send buffer (this is accomplished by our dynamic send
      buffer expansion code) 2) do large enough writes.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c1b4a7e6
    • Christoph Hellwig's avatar
      [SHAPER]: Switch to spinlocks. · bc971dee
      Christoph Hellwig authored
      
      
      Dave, you were right and the sleeping locks in shaper were
      broken. Markus Kanet noticed this and also tested the patch below that
      switches locking to spinlocks.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bc971dee
    • Thomas Graf's avatar
      [NET]: Reduce size of sk_buff by 4 bytes · 1cbb3380
      Thomas Graf authored
      
      
      Reduce local_df to a bit field and ip_summed to a 2 bits
      field thus saving 13 bits. Move bit fields, packet type,
      and protocol into the spare area between the priority
      and the destructor. Saves 4 bytes on both, 32bit and
      64bit architectures.
      Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1cbb3380
    • Thomas Graf's avatar
      e176fe89
    • Patrick McHardy's avatar
      [NET]: Fix signedness issues in net/core/filter.c · 55820ee2
      Patrick McHardy authored
      
      
      This is the code to load packet data into a register:
      
                              k = fentry->k;
                              if (k < 0) {
      ...
                              } else {
                                      u32 _tmp, *p;
                                      p = skb_header_pointer(skb, k, 4, &_tmp);
                                      if (p != NULL) {
                                              A = ntohl(*p);
                                              continue;
                                      }
                              }
      
      skb_header_pointer checks if the requested data is within the
      linear area:
      
              int hlen = skb_headlen(skb);
      
              if (offset + len <= hlen)
                      return skb->data + offset;
      
      When offset is within [INT_MAX-len+1..INT_MAX] the addition will
      result in a negative number which is <= hlen.
      
      I couldn't trigger a crash on my AMD64 with 2GB of memory, but a
      coworker tried on his x86 machine and it crashed immediately.
      
      This patch fixes the check in skb_header_pointer to handle large
      positive offsets similar to skb_copy_bits. Invalid data can still
      be accessed using negative offsets (also similar to skb_copy_bits),
      anyone using negative offsets needs to verify them himself.
      
      Thanks to Thomas Vögtle <thomas.voegtle@coreworks.de> for verifying the
      problem by crashing his machine and providing me with an Oops.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      55820ee2
  4. 04 Jul, 2005 1 commit
    • Raphael Assenat's avatar
      [SPARC64/COMPAT]: Add some compat ioctl for ppdev · e7270dec
      Raphael Assenat authored
      
      
      The following patch adds some ioctls to include/linux/compat_ioctl.h
      to allow using ppdev from the 32 bit user space on sparc64.
      
      This patch also adds the PPDEV option in the sparc64 menu, near Parallel
      printer support in the 'General machine setup' submenu.
      
      All those ioctls seem to be compatible, since (correct me if I'm wrong)
      they dont use the 'long' type. See include/linux/ppdev.h.
      
      The application I used to test the new ioctls only used the following:
      PPEXCL
      PPCLAIM
      PPNEGOT
      PPGETMODES
      PPRCONTROL
      PPWCONTROL
      PPDATADIR
      PPWDATA
      PPRDATA
      
      But I beleive that the other ioctls will work fine.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e7270dec
  5. 03 Jul, 2005 1 commit
  6. 01 Jul, 2005 2 commits
    • Greg Kroah-Hartman's avatar
      [PATCH] PCI: clean up dynamic pci id logic · 75865858
      Greg Kroah-Hartman authored
      
      
      The dynamic pci id logic has been bothering me for a while, and now that
      I started to look into how to move some of this to the driver core, I
      thought it was time to clean it all up.
      
      It ends up making the code smaller, and easier to follow, and fixes a
      few bugs at the same time (dynamic ids were not being matched
      everywhere, and so could be missed on some call paths for new devices,
      semaphore not needed to be grabbed when adding a new id and calling the
      driver core, etc.)
      
      I also renamed the function pci_match_device() to pci_match_id() as
      that's what it really does.
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      75865858
    • rajesh.shah@intel.com's avatar
      [PATCH] PCI: Increase the number of PCI bus resources · a03fa955
      rajesh.shah@intel.com authored
      
      
      This patch increases the number of resource pointers in the
      pci_bus structure. This is needed to store >4 resource ranges
      for host bridges and transparent PCI bridges. With this change,
      all PCI buses will have more resource pointers, but most PCI
      buses will only use the first 3 or 4, the remaining being NULL.
      The PCI core already deals with this correctly.
      Signed-off-by: default avatarRajesh Shah <rajesh.shah@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      a03fa955
  7. 29 Jun, 2005 2 commits
  8. 28 Jun, 2005 13 commits
  9. 27 Jun, 2005 5 commits
    • Greg Kroah-Hartman's avatar
      [PATCH] PCI: add proper MCFG table parsing to ACPI core. · 54549391
      Greg Kroah-Hartman authored
      
      
      This patch is the first step in properly handling the MCFG PCI table.
      It defines the structures properly, and saves off the table so that the
      pci mmconfig code can access it.  It moves the parsing of the table a
      little later in the boot process, but still before the information is
      needed.
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      54549391
    • Andrew Morton's avatar
      [PATCH] PCI: fix up errors after dma bursting patch and CONFIG_PCI=n · bb4a61b6
      Andrew Morton authored
      
      
      With CONFIG_PCI=n:
      
      In file included from include/linux/pci.h:917,
                       from lib/iomap.c:6:
      include/asm/pci.h:104: warning: `enum pci_dma_burst_strategy' declared inside parameter list
      include/asm/pci.h:104: warning: its scope is only this definition or declaration, which is probably not what you want.
      include/asm/pci.h: In function `pci_dma_burst_advice':
      include/asm/pci.h:106: dereferencing pointer to incomplete type
      include/asm/pci.h:106: `PCI_DMA_BURST_INFINITY' undeclared (first use in this function)
      include/asm/pci.h:106: (Each undeclared identifier is reported only once
      include/asm/pci.h:106: for each function it appears in.)
      make[1]: *** [lib/iomap.o] Error 1
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      bb4a61b6
    • David S. Miller's avatar
      [PATCH] PCI: DMA bursting advice · e24c2d96
      David S. Miller authored
      
      
      After seeing, at best, "guesses" as to the following kind
      of information in several drivers, I decided that we really
      need a way for platforms to specifically give advice in this
      area for what works best with their PCI controller implementation.
      
      Basically, this new interface gives DMA bursting advice on
      PCI.  There are three forms of the advice:
      
      1) Burst as much as possible, it is not necessary to end bursts
         on some particular boundary for best performance.
      
      2) Burst on some byte count multiple.  A DMA burst to some multiple of
         number of bytes may be done, but it is important to end the burst
         on an exact multiple for best performance.
      
         The best example of this I am aware of are the PPC64 PCI
         controllers, where if you end a burst mid-cacheline then
         chip has to refetch the data and the IOMMU translations
         which hurts performance a lot.
      
      3) Burst on a single byte count multiple.  Bursts shall end
         exactly on the next multiple boundary for best performance.
      
         Sparc64 and Alpha's PCI controllers operate this way.  They
         disconnect any device which tries to burst across a cacheline
         boundary.
      
         Actually, newer sparc64 PCI controllers do not have this behavior.
         That is why the "pdev" is passed into the interface, so I can
         add code later to check which PCI controller the system is using
         and give advice accordingly.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      e24c2d96
    • Michael Ellerman's avatar
      [PATCH] PCI: fix-pci-mmap-on-ppc-and-ppc64.patch · 2311b1f2
      Michael Ellerman authored
      
      
      This is an updated version of Ben's fix-pci-mmap-on-ppc-and-ppc64.patch
      which is in 2.6.12-rc4-mm1.
      
      It fixes the patch to work on PPC iSeries, removes some debug printks
      at Ben's request, and incorporates your
      fix-pci-mmap-on-ppc-and-ppc64-fix.patch also.
      
      Originally from Benjamin Herrenschmidt <benh@kernel.crashing.org>
      
      This patch was discussed at length on linux-pci and so far, the last
      iteration of it didn't raise any comment.  It's effect is a nop on
      architecture that don't define the new pci_resource_to_user() callback
      anyway.  It allows architecture like ppc who put weird things inside of
      PCI resource structures to convert to some different value for user
      visible ones.  It also fixes mmap'ing of IO space on those archs.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      2311b1f2
    • Kenji Kaneshige's avatar
      [PATCH] ACPI based I/O APIC hot-plug: acpiphp support · a0d399a8
      Kenji Kaneshige authored
      
      
      This patch adds PCI based I/O xAPIC hot-add support to ACPIPHP
      driver. When PCI root bridge is hot-added, all PCI based I/O xAPICs
      under the root bridge are hot-added by this patch. Hot-remove support
      is TBD.
      Signed-off-by: default avatarKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      a0d399a8