20 Jul, 2007

3 commits

  • Slab destructors were no longer supported after Christoph's
    c59def9f222d44bb7e2f0a559f2906191a0862d7 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: Paul Mundt

    Paul Mundt
     
  • * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (25 commits)
    [TG3]: Fix msi issue with kexec/kdump.
    [NET] XFRM: Fix whitespace errors.
    [NET] TIPC: Fix whitespace errors.
    [NET] SUNRPC: Fix whitespace errors.
    [NET] SCTP: Fix whitespace errors.
    [NET] RXRPC: Fix whitespace errors.
    [NET] ROSE: Fix whitespace errors.
    [NET] RFKILL: Fix whitespace errors.
    [NET] PACKET: Fix whitespace errors.
    [NET] NETROM: Fix whitespace errors.
    [NET] NETFILTER: Fix whitespace errors.
    [NET] IPV4: Fix whitespace errors.
    [NET] DCCP: Fix whitespace errors.
    [NET] CORE: Fix whitespace errors.
    [NET] BLUETOOTH: Fix whitespace errors.
    [NET] AX25: Fix whitespace errors.
    [PATCH] mac80211: remove rtnl locking in ieee80211_sta.c
    [PATCH] mac80211: fix GCC warning on 64bit platforms
    [GENETLINK]: Dynamic multicast groups.
    [NETLIKN]: Allow removing multicast groups.
    ...

    Linus Torvalds
     
  • AFAICT now that jprobe.entry is a void *, JPROBE_ENTRY doesn't do anything
    useful - so remove it ..

    I've left a do-nothing version so that out-of-tree jprobes code will still
    compile without modifications.

    Signed-off-by: Michael Ellerman
    Cc: Prasanna S Panchamukhi
    Acked-by: Ananth N Mavinakayanahalli
    Cc: Anil S Keshavamurthy
    Cc: David S. Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Ellerman
     

19 Jul, 2007

1 commit


11 Jul, 2007

14 commits


04 Jun, 2007

1 commit


25 May, 2007

3 commits

  • The current IPSEC rule resolution behavior we have does not work for a
    lot of people, even though technically it's an improvement from the
    -EAGAIN buisness we had before.

    Right now we'll block until the key manager resolves the route. That
    works for simple cases, but many folks would rather packets get
    silently dropped until the key manager resolves the IPSEC rules.

    We can't tell these folks to "set the socket non-blocking" because
    they don't have control over the non-block setting of things like the
    sockets used to resolve DNS deep inside of the resolver libraries in
    libc.

    With that in mind I coded up the patch below with some help from
    Herbert Xu which provides packet-drop behavior during larval state
    resolution, controllable via sysctl and off by default.

    This lays the framework to either:

    1) Make this default at some point or...

    2) Move this logic into xfrm{4,6}_policy.c and implement the
    ARP-like resolution queue we've all been dreaming of.
    The idea would be to queue packets to the policy, then
    once the larval state is resolved by the key manager we
    re-resolve the route and push the packets out. The
    packets would timeout if the rule didn't get resolved
    in a certain amount of time.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • 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
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Jan Engelhardt
     

26 Apr, 2007

18 commits

  • SPIN_LOCK_UNLOCKED cleanup,use __SPIN_LOCK_UNLOCKED instead

    Signed-off-by: Milind Arun Choudhary
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Milind Arun Choudhary
     
  • This prints the value of the parsed Elapsed Time when received via a
    Timestamp Echo option [RFC 4342, 13.3].

    Signed-off-by: Gerrit Renker
    Acked-by: Ian McDonald
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • This fixes an error in the calculation of t_ipi when X converges towards
    very low sending rates (between 1 and 64 bytes per second).

    Although this case may not sound likely, it can be reproduced by connecting,
    hitting enter (1 byte sent) and waiting for some time, during which the
    nofeedback timer halves the sending rate until finally it reaches the region
    1..64 bytes/sec. Computing X is handled correctly (tested separately); but by
    dividing X _before_ entering the calculation of t_ipi, X becomes zero as
    a result. This in turn triggers a BUG condition caught in scaled_div().

    Fixed by replacing with equivalent statement and explicit typecast for good
    measure.

    Calculation verified and effect of patch tested - reduced never below 1 byte
    per 64 seconds afterwards, i.e. not allowing divide-by-zero.

    Signed-off-by: Gerrit Renker
    Acked-by: Ian McDonald
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • The patch follows the following recommendation made in an erratum to RFC 4342:

    "Senders MAY additionally make use of other available RTT measurements,
    including those from the initial Request-Response packet exchange."

    It implements larger initial windows with regard to this inital RTT measurement,
    using the mechanism suggested in draft-ietf-dccp-rfc3448bis, section 4.2.

    Signed-off-by: Gerrit Renker
    Signed-off-by: Ian McDonald
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • Function:

    Gerrit Renker
     
  • This replaces the existing occurrences of RTT sampling with
    the use of the new function dccp_sample_rtt.

    Signed-off-by: Gerrit Renker
    Signed-off-by: Ian McDonald
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • A recurring problem, in particular in the CCID code, is that RTT samples
    from packets with timestamp echo and elapsed time options need to be taken.

    This service is provided via a new function dccp_sample_rtt in this patch.
    Furthermore, to protect against `insane' RTT samples, the sampled value
    is bounded between 100 microseconds and 4 seconds - for which u32 is sufficient.

    Signed-off-by: Gerrit Renker
    Signed-off-by: Ian McDonald
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • This updates the code with regard to handling idle and application-limited
    periods as specified in [RFC 4342, 5.1].

    Background:

    Gerrit Renker
     
  • The CCID 3 and TFRC specs (RFC 4342, RFC 3448, draft-3448bis) make frequent
    reference to the computation of the RFC-3390 initial sending rate:

    1. Initial sending rate when RTT is known (RFC 4342, p. 6)
    2. Response to Idle/Application-Limited periods (RFC 4342, 5.1)

    This warrants putting the code into its own function, for later code reuse.

    Signed-off-by: Gerrit Renker
    Signed-off-by: Ian McDonald
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • This clears the following sparc64 build warnings:
    1) warning: format "%ld" expects type "long int", but argument 3 has type "suseconds_t"
    2) warning: format "%llu" expects type "long long unsigned int", but argument 3 has type "__u64"
    Fixed by using typecast to unsigned. This is argued to be safe, since the quantities, after
    de-scaling (factor 2^6) fit all in u32.

    Signed-off-by: Gerrit Renker
    Signed-off-by: Ian McDonald
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • This adds a few more fields of interest to /proc/net/dccpprobe, the following output ensues:

    1 2 3 4 5 6 7 8 9 10 11
    sec.usec src:sport dst:dport size s rtt p X_calc X_recv X t_ipi

    Also made the formatting consistent.

    Scripts that go with this can be downloaded from http://139.133.210.30/users/gerrit/dccp/dccp_probe/

    Signed-off-by: Gerrit Renker
    Acked-by: Ian McDonald
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • This adds more detail in the wait_for_ccid packet scheduling loop.
    In particular, it informs about (i) when delay is used and (ii) why
    a packet is discarded.

    Signed-off-by: Gerrit Renker
    Signed-off-by: Ian McDonald
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • Currently debugging output (when configured) is automatically enabled when
    DCCP modules are compiled into the kernel rather than built as loadable modules.
    This is not necessary, since the module parameters in this case become kernel
    commandline parameters, e.g. DCCP or CCID3 debug output can be enabled for a
    static build by appending the following at the boot prompt:

    dccp.dccp_debug=1 dccp_ccid3.ccid3_debug=1

    This patch therefore does away with the more complicated way of always enabling
    debug output for static builds

    Signed-off-by: Gerrit Renker
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • This:

    1. removes a race condition in the access to the scheduled send time t_nom which
    results from allowing asynchronous r/w access to t_nom without locks;

    2. updates the inter-packet interval t_ipi = s/X when `s' changes, following a
    suggestion by Ian McDonald.

    Signed-off-by: Gerrit Renker
    Acked-by: Ian McDonald
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • This adds a few debugging statements to ccid3.c

    Signed-off-by: Ian McDonald
    Signed-off-by: Gerrit Renker
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Ian McDonald
     
  • This fixes a bug which uses an invalid comparison.
    The bug resulted in the use of invalid loss intervals.

    Signed-off-by: Ian McDonald
    Acked-by: Gerrit Renker
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Ian McDonald
     
  • This improves the slow-start phase by using the MSS
    (as suggested in RFC 4342, sec. 5) instead of the packet size s.
    Also figured out that __u32 is ample resource enough.

    After applying, I got the following in the logs:

    ccid3_hc_tx_packet_recv: client(f7421700), s=6, MSS=1424, w_init=4380, R_sample=176us, X=24886363

    Had the previous variant been used, w_init would have been as low as 24.

    Committer note: removed unneeded cast to unsigned long long that was
    causing a compiler warning on 64bit architectures.

    Signed-off-by: Gerrit Renker
    Acked-by: Ian McDonald
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • No code change at all.
    This splits ccid3.c into a RX and a TX section, so that the file has an
    organisation similar to the other ones (e.g. packet_history.{h,c}).

    Signed-off-by: Gerrit Renker
    Acked-by: Ian McDonald
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker