lkml.org 
[lkml]   [2005]   [Dec]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subject[RFC][PATCH 0/3] TCP/IP Critical socket communication mechanism

    These set of patches provide a TCP/IP emergency communication mechanism that
    could be used to guarantee high priority communications over a critical socket
    to succeed even under very low memory conditions that last for a couple of
    minutes. It uses the critical page pool facility provided by Matt's patches
    that he posted recently on lkml.
    http://lkml.org/lkml/2005/12/14/34/index.html

    This mechanism provides a new socket option SO_CRITICAL that can be used to
    mark a socket as critical. A critical connection used for emergency
    communications has to be established and marked as critical before we enter
    the emergency condition.

    It uses the __GFP_CRITICAL flag introduced in the critical page pool patches
    to indicate an allocation request as critical and should be satisfied from the
    critical page pool if required. In the send path, this flag is passed with all
    allocation requests that are made for a critical socket. But in the receive
    path we do not know if a packet is critical or not until we receive it and
    find the socket that it is destined to. So we treat all the allocation
    requests in the receive path as critical.

    The critical page pool patches also introduces a global flag
    'system_in_emergency' that is used to indicate an emergency situation(could be
    a low memory condition). When this flag is set any incoming packets that belong
    to non-critical sockets are dropped as soon as possible in the receive path.
    This is necessary to prevent incoming non-critical packets to consume memory
    from critical page pool.

    I would appreciate any feedback or comments on this approach.

    Thanks
    Sridhar
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-12-14 10:15    [W:3.567 / U:0.204 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site