1. 10 Jan, 2018 34 commits
  2. 09 Jan, 2018 6 commits
    • David S. Miller's avatar
      Merge branch 'r8169-improve-runtime-pm' · 61ad6408
      David S. Miller authored
      Heiner Kallweit says:
      
      ====================
      r8169: improve runtime pm
      
      On my system with two network ports I found that runtime PM didn't
      suspend the unused port. Therefore I checked runtime pm in this driver
      in somewhat more detail and this series improves runtime pm in general
      and solves the mentioned issue.
      
      Tested on a system with RTL8168evl (MAC version 34).
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      61ad6408
    • Heiner Kallweit's avatar
      r8169: improve runtime pm in general and suspend unused ports · a92a0849
      Heiner Kallweit authored
      So far rpm doesn't cover cases like unused ports which are never
      brought up. If they are active at probe time they remain in this state.
      Included in this patch:
      
      - Let the idle notification check whether we can suspend and let it
        schedule the suspend. This way we don't need to have calls to
        pm_schedule_suspend in different places.
      
      - At the end of rtl_open and rtl_init_one send an idle notification
        to allow suspending if the link is down. If a cable is plugged in
        aneg is finished before the suspend timer expires and the suspend
        request is cancelled.
      
      - Change rtl8169_runtime_suspend to power down the chip if the
        interface is down.
      
      Successfully tested on a RTL8168evl (mac version 34).
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a92a0849
    • Heiner Kallweit's avatar
      r8169: improve runtime pm in rtl8169_check_link_status · ef4d5fcc
      Heiner Kallweit authored
      This patch partially reverts commit e4fbce74 "r8169: Fix runtime
      power management" from 2010. At that time the suspend delay was 100ms
      and therefore suspending happened during initial aneg. Currently
      suspend delay is 5s, so suspend starts after aneg and the issue
      doesn't exist any longer. On my system aneg takes almost 3s, to be on
      the safe side let's increase the suspend delay to 10s.
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ef4d5fcc
    • Heiner Kallweit's avatar
      r8169: remove unneeded rpm ops in rtl_shutdown · b9aa1c75
      Heiner Kallweit authored
      This patch reverts commit 2a15cd2f "r8169: runtime resume before
      shutdown" from 2012. Few months after this change the underlying issue
      was solved in the PCI core with commit 3ff2de9b "PCI/PM: Resume
      device before shutdown".
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b9aa1c75
    • David S. Miller's avatar
      Merge branch 'tipc-improvements-to-group-messaging' · fdb533c3
      David S. Miller authored
      Jon Maloy says:
      
      ====================
      tipc: improvements to group messaging
      
      We make a number of simplifications and improvements to the group
      messaging service. They aim at readability/maintainability of the code
      as well as scalability.
      
      The series is based on commit f9c935db ("tipc: fix problems with
      multipoint-to-point flow control) which has been applied to 'net' but
      not yet to 'net-next'.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fdb533c3
    • Jon Maloy's avatar
      tipc: improve poll() for group member socket · eb929a91
      Jon Maloy authored
      The current criteria for returning POLLOUT from a group member socket is
      too simplistic. It basically returns POLLOUT as soon as the group has
      external destinations, something obviously leading to a lot of spinning
      during destination congestion situations. At the same time, the internal
      congestion handling is unnecessarily complex.
      
      We now change this as follows.
      
      - We introduce an 'open' flag in  struct tipc_group. This flag is used
        only to help poll() get the setting of POLLOUT right, and *not* for
        congeston handling as such. This means that a user can choose to
        ignore an  EAGAIN for a destination and go on sending messages to
        other destinations in the group if he wants to.
      
      - The flag is set to false every time we return EAGAIN on a send call.
      
      - The flag is set to true every time any member, i.e., not necessarily
        the member that caused EAGAIN, is removed from the small_win list.
      
      - We remove the group member 'usr_pending' flag. The size of the send
        window and presence in the 'small_win' list is sufficient criteria
        for recognizing congestion.
      
      This solution seems to be a reasonable compromise between 'anycast',
      which is normally not waiting for POLLOUT for a specific destination,
      and the other three send modes, which are.
      Acked-by: default avatarYing Xue <ying.xue@windriver.com>
      Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      eb929a91