1. 29 1月, 2008 4 次提交
    • G
      [TFRC]: Ringbuffer to track loss interval history · 8a9c7e92
      Gerrit Renker 提交于
      A ringbuffer-based implementation of loss interval history is easier to
      maintain, allocate, and update.
      
      The `swap' routine to keep the RX history sorted is due to and was written
      by Arnaldo Carvalho de Melo, simplifying an earlier macro-based variant.
      
      Details:
       * access to the Loss Interval Records via macro wrappers (with safety checks);
       * simplified, on-demand allocation of entries (no extra memory consumption on
         lossless links); cache allocation is local to the module / exported as service;
       * provision of RFC-compliant algorithm to re-compute average loss interval;
       * provision of comprehensive, new loss detection algorithm
       	- support for all cases of loss, including re-ordered/duplicate packets;
       	- waiting for NDUPACK=3 packets to fill the hole;
      	- updating loss records when a late-arriving packet fills a hole.
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      Signed-off-by: NIan McDonald <ian.mcdonald@jandi.co.nz>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8a9c7e92
    • A
      [TFRC]: New rx history code · b84a2189
      Arnaldo Carvalho de Melo 提交于
      Credit here goes to Gerrit Renker, that provided the initial implementation for
      this new codebase.
      
      I modified it just to try to make it closer to the existing API, renaming some
      functions, add namespacing and fix one bug where the tfrc_rx_hist_alloc was not
      freeing the allocated ring entries on the error path.
      
      Original changeset comment from Gerrit:
            -----------
      This provides a new, self-contained and generic RX history service for TFRC
      based protocols.
      
      Details:
       * new data structure, initialisation and cleanup routines;
       * allocation of dccp_rx_hist entries local to packet_history.c,
         as a service exported by the dccp_tfrc_lib module.
       * interface to automatically track highest-received seqno;
       * receiver-based RTT estimation (needed for instance by RFC 3448, 6.3.1);
       * a generic function to test for `data packets' as per  RFC 4340, sec. 7.7.
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b84a2189
    • A
      [TFRC]: Rename dccp_rx_ to tfrc_rx_ · d58d1af0
      Arnaldo Carvalho de Melo 提交于
      This is in preparation for merging the new rx history code written by Gerrit Renker.
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d58d1af0
    • A
      [TFRC]: Migrate TX history to singly-linked lis · 276f2edc
      Arnaldo Carvalho de Melo 提交于
      This patch was based on another made by Gerrit Renker, his changelog was:
      
          ------------------------------------------------------
      The patch set migrates TFRC TX history to a singly-linked list.
      
      The details are:
       * use of a consistent naming scheme (all TFRC functions now begin with `tfrc_');
       * allocation and cleanup are taken care of internally;
       * provision of a lookup function, which is used by the CCID TX infrastructure
         to determine the time a packet was sent (in turn used for RTT sampling);
       * integration of the new interface with the present use in CCID3.
          ------------------------------------------------------
      
      Simplifications I did:
      
      . removing the tfrc_tx_hist_head that had a pointer to the list head and
        another for the slabcache.
      . No need for creating a slabcache for each CCID that wants to use the TFRC
        tx history routines, create a single slabcache when the dccp_tfrc_lib module
        init routine is called.
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      276f2edc
  2. 20 11月, 2007 1 次提交
  3. 11 10月, 2007 1 次提交
  4. 20 7月, 2007 1 次提交
    • P
      mm: Remove slab destructors from kmem_cache_create(). · 20c2df83
      Paul Mundt 提交于
      Slab destructors were no longer supported after Christoph's
      c59def9f change. They've been
      BUGs for both slab and slub, and slob never supported them
      either.
      
      This rips out support for the dtor pointer from kmem_cache_create()
      completely and fixes up every single callsite in the kernel (there were
      about 224, not including the slab allocator definitions themselves,
      or the documentation references).
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      20c2df83
  5. 19 7月, 2007 1 次提交
  6. 11 7月, 2007 7 次提交
  7. 26 4月, 2007 1 次提交
  8. 08 12月, 2006 1 次提交
  9. 03 12月, 2006 1 次提交
    • G
      [DCCP]: Simplified conditions due to use of enum:8 states · 59348b19
      Gerrit Renker 提交于
      This reaps the benefit of the earlier patch, which changed the type of
      CCID 3 states to use enums, in that many conditions are now simplified
      and the number of possible (unexpected) values is greatly reduced.
      
      In a few instances, this also allowed to simplify pre-conditions; where
      care has been taken to retain logical equivalence.
      
      [DCCP]: Introduce a consistent BUG/WARN message scheme
      
      This refines the existing set of DCCP messages so that
       * BUG(), BUG_ON(), WARN_ON() have meaningful DCCP-specific counterparts
       * DCCP_CRIT (for severe warnings) is not rate-limited
       * DCCP_WARN() is introduced as rate-limited wrapper
      
      Using these allows a faster and cleaner transition to their original
      counterparts once the code has matured into a full DCCP implementation.
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
      59348b19
  10. 27 8月, 2006 2 次提交
    • I
      [DCCP]: Fix CCID3 · 66a377c5
      Ian McDonald 提交于
      This fixes CCID3 to give much closer performance to RFC4342.
      
      CCID3 is meant to alter sending rate based on RTT and loss.
      
      The performance was verified against:
      http://wand.net.nz/~perry/max_download.php
      
      For example I tested with netem and had the following parameters:
      Delayed Acks 1, MSS 256 bytes, RTT 105 ms, packet loss 5%.
      
      This gives a theoretical speed of 71.9 Kbits/s. I measured across three
      runs with this patch set and got 70.1 Kbits/s. Without this patchset the
      average was 232 Kbits/s which means Linux can't be used for CCID3 research
      properly.
      
      I also tested with netem turned off so box just acting as router with 1.2
      msec RTT. The performance with this is the same with or without the patch
      at around 30 Mbit/s.
      
      Signed off by: Ian McDonald <ian.mcdonald@jandi.co.nz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      66a377c5
    • I
      [DCCP]: Update contact details and copyright · e6bccd35
      Ian McDonald 提交于
      Just updating copyright and contacts
      
      Signed off by: Ian McDonald <ian.mcdonald@jandi.co.nz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e6bccd35
  11. 01 7月, 2006 1 次提交
  12. 30 8月, 2005 1 次提交