1. 10 Nov, 2005 11 commits
    • Linus Torvalds's avatar
    • Trond Myklebust's avatar
      [PATCH] SUNRPC: don't reencode when looping in call transmit. · 940e3318
      Trond Myklebust authored
      If the call to xprt_transmit() fails due to socket buffer space
      exhaustion, we do not need to re-encode the RPC message when we
      loop back through call_transmit.
      
      Re-encoding can actually end up triggering the WARN_ON() in
      call_decode() if we re-encode something like a read() request and
      auth->au_rslack has changed.
      It can also cause us to increment the RPCSEC_GSS sequence number
      beyond the limits of the allowed window.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      940e3318
    • Thomas Graf's avatar
      [NETLINK]: Generic netlink family · 482a8524
      Thomas Graf authored
      The generic netlink family builds on top of netlink and provides
      simplifies access for the less demanding netlink users. It solves
      the problem of protocol numbers running out by introducing a so
      called controller taking care of id management and name resolving.
      
      Generic netlink modules register themself after filling out their
      id card (struct genl_family), after successful registration the
      modules are able to register callbacks to command numbers by
      filling out a struct genl_ops and calling genl_register_op(). The
      registered callbacks are invoked with attributes parsed making
      life of simple modules a lot easier.
      
      Although generic netlink modules can request static identifiers,
      it is recommended to use GENL_ID_GENERATE and to let the controller
      assign a unique identifier to the module. Userspace applications
      will then ask the controller and lookup the idenfier by the module
      name.
      
      Due to the current multicast implementation of netlink, the number
      of generic netlink modules is restricted to 1024 to avoid wasting
      memory for the per socket multiacst subscription bitmask.
      Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      482a8524
    • Thomas Graf's avatar
      9ac4a169
    • Thomas Graf's avatar
      88fc2c84
    • Thomas Graf's avatar
      [NETLINK]: Generic netlink receive queue processor · 82ace47a
      Thomas Graf authored
      Introduces netlink_run_queue() to handle the receive queue of
      a netlink socket in a generic way. Processes as much as there
      was in the queue upon entry and invokes a callback function
      for each netlink message found. The callback function may
      refuse a message by returning a negative error code but setting
      the error pointer to 0 in which case netlink_run_queue() will
      return with a qlen != 0.
      Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      82ace47a
    • Thomas Graf's avatar
      [NETLINK]: Make netlink_callback->done() optional · a8f74b22
      Thomas Graf authored
      Most netlink families make no use of the done() callback, making
      it optional gets rid of all unnecessary dummy implementations.
      Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a8f74b22
    • Thomas Graf's avatar
      [NETLINK]: Type-safe netlink messages/attributes interface · bfa83a9e
      Thomas Graf authored
      Introduces a new type-safe interface for netlink message and
      attributes handling. The interface is fully binary compatible
      with the old interface towards userspace. Besides type safety,
      this interface features attribute validation capabilities,
      simplified message contstruction, and documentation.
      
      The resulting netlink code should be smaller, less error prone
      and easier to understand.
      Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bfa83a9e
    • Yasuyuki Kozakai's avatar
      [NETFILTER]: Add nf_conntrack subsystem. · 9fb9cbb1
      Yasuyuki Kozakai authored
      The existing connection tracking subsystem in netfilter can only
      handle ipv4.  There were basically two choices present to add
      connection tracking support for ipv6.  We could either duplicate all
      of the ipv4 connection tracking code into an ipv6 counterpart, or (the
      choice taken by these patches) we could design a generic layer that
      could handle both ipv4 and ipv6 and thus requiring only one sub-protocol
      (TCP, UDP, etc.) connection tracking helper module to be written.
      
      In fact nf_conntrack is capable of working with any layer 3
      protocol.
      
      The existing ipv4 specific conntrack code could also not deal
      with the pecularities of doing connection tracking on ipv6,
      which is also cured here.  For example, these issues include:
      
      1) ICMPv6 handling, which is used for neighbour discovery in
         ipv6 thus some messages such as these should not participate
         in connection tracking since effectively they are like ARP
         messages
      
      2) fragmentation must be handled differently in ipv6, because
         the simplistic "defrag, connection track and NAT, refrag"
         (which the existing ipv4 connection tracking does) approach simply
         isn't feasible in ipv6
      
      3) ipv6 extension header parsing must occur at the correct spots
         before and after connection tracking decisions, and there were
         no provisions for this in the existing connection tracking
         design
      
      4) ipv6 has no need for stateful NAT
      
      The ipv4 specific conntrack layer is kept around, until all of
      the ipv4 specific conntrack helpers are ported over to nf_conntrack
      and it is feature complete.  Once that occurs, the old conntrack
      stuff will get placed into the feature-removal-schedule and we will
      fully kill it off 6 months later.
      Signed-off-by: default avatarYasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>
      Signed-off-by: default avatarHarald Welte <laforge@netfilter.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@mandriva.com>
      9fb9cbb1
    • Andrew Morton's avatar
      [PATCH] powerpc: sched fixups · e4d76e1c
      Andrew Morton authored
      - Re-add a hunk lost during merge: ppc64 is missing the hunk that disables
        preempt on the secondary CPUs before they call cpu_idle().
      
      - ppc's cpu_idle() had the need_resched() test wrong.
      
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Anton Blanchard <anton@samba.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      e4d76e1c
    • Chen, Kenneth W's avatar
      [PATCH] optimize activate_task() · a47ab937
      Chen, Kenneth W authored
      recalc_task_prio() is called from activate_task() to calculate dynamic
      priority and interactive credit for the activating task.  For real-time
      scheduling process, all that dynamic calculation is thrown away at the end
      because rt priority is fixed.  Patch to optimize recalc_task_prio() away
      for rt processes.
      Signed-off-by: default avatarKen Chen <kenneth.w.chen@intel.com>
      Acked-by: default avatarIngo Molnar <mingo@elte.hu>
      Cc: Nick Piggin <piggin@cyberone.com.au>
      Cc: Con Kolivas <kernel@kolivas.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      a47ab937
  2. 09 Nov, 2005 29 commits