1. 26 Oct, 2016 4 commits
    • David Decotigny's avatar
      net: ethtool: add new ETHTOOL_xLINKSETTINGS API · dde8af1d
      David Decotigny authored
      BugLink: http://bugs.launchpad.net/bugs/1635721
      
      This patch defines a new ETHTOOL_GLINKSETTINGS/SLINKSETTINGS API,
      handled by the new get_link_ksettings/set_link_ksettings callbacks.
      This API provides support for most legacy ethtool_cmd fields, adds
      support for larger link mode masks (up to 4064 bits, variable length),
      and removes ethtool_cmd deprecated
      fields (transceiver/maxrxpkt/maxtxpkt).
      
      This API is deprecating the legacy ETHTOOL_GSET/SSET API and provides
      the following backward compatibility properties:
       - legacy ethtool with legacy drivers: no change, still using the
         get_settings/set_settings callbacks.
       - legacy ethtool with new get/set_link_ksettings drivers: the new
         driver callbacks are used, data internally converted to legacy
         ethtool_cmd. ETHTOOL_GSET will return only the 1st 32b of each link
         mode mask. ETHTOOL_SSET will fail if user tries to set the
         ethtool_cmd deprecated fields to
         non-0 (transceiver/maxrxpkt/maxtxpkt). A kernel warning is logged if
         driver sets higher bits.
       - future ethtool with legacy drivers: no change, still using the
         get_settings/set_settings callbacks, internally converted to new data
         structure. Deprecated fields (transceiver/maxrxpkt/maxtxpkt) will be
         ignored and seen as 0 from user space. Note that that "future"
         ethtool tool will not allow changes to these deprecated fields.
       - future ethtool with new drivers: direct call to the new callbacks.
      
      By "future" ethtool, what is meant is:
       - query: first try ETHTOOL_GLINKSETTINGS, and revert to ETHTOOL_GSET if
         fails
       - set: query first and remember which of ETHTOOL_GLINKSETTINGS or
         ETHTOOL_GSET was successful
         + if ETHTOOL_GLINKSETTINGS was successful, then change config with
           ETHTOOL_SLINKSETTINGS. A failure there is final (do not try
           ETHTOOL_SSET).
         + otherwise ETHTOOL_GSET was successful, change config with
           ETHTOOL_SSET. A failure there is final (do not try
           ETHTOOL_SLINKSETTINGS).
      
      The interaction user/kernel via the new API requires a small
      ETHTOOL_GLINKSETTINGS handshake first to agree on the length of the link
      mode bitmaps. If kernel doesn't agree with user, it returns the bitmap
      length it is expecting from user as a negative length (and cmd field is
      0). When kernel and user agree, kernel returns valid info in all
      fields (ie. link mode length > 0 and cmd is ETHTOOL_GLINKSETTINGS).
      
      Data structure crossing user/kernel boundary is 32/64-bit
      agnostic. Converted internally to a legal kernel bitmap.
      
      The internal __ethtool_get_settings kernel helper will gradually be
      replaced by __ethtool_get_link_ksettings by the time the first
      "link_settings" drivers start to appear. So this patch doesn't change
      it, it will be removed before it needs to be changed.
      Signed-off-by: default avatarDavid Decotigny <decot@googlers.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      (back-ported from commit 3f1ac7a7)
      Signed-off-by: default avatarKamal Mostafa <kamal@canonical.com>
      Acked-by: default avatarAndy Whitcroft <apw@canonical.com>
      Acked-by: default avatarBrad Figg <brad.figg@canonical.com>
      dde8af1d
    • David Decotigny's avatar
      lib/bitmap.c: conversion routines to/from u32 array · 2f0f870b
      David Decotigny authored
      BugLink: http://bugs.launchpad.net/bugs/1635721
      
      Aimed at transferring bitmaps to/from user-space in a 32/64-bit agnostic
      way.
      
      Tested:
        unit tests (next patch) on qemu i386, x86_64, ppc, ppc64 BE and LE,
        ARM.
      Signed-off-by: default avatarDavid Decotigny <decot@googlers.com>
      Reviewed-by: default avatarBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      (cherry picked from commit e52bc7c2)
      Signed-off-by: default avatarKamal Mostafa <kamal@canonical.com>
      Acked-by: default avatarAndy Whitcroft <apw@canonical.com>
      Acked-by: default avatarBrad Figg <brad.figg@canonical.com>
      2f0f870b
    • Andy Whitcroft's avatar
      UBUNTU: [Config] switch squashfs to single threaded decode · 179152ff
      Andy Whitcroft authored
      There is some issue with squashfs decoding when done in a multi-threaded
      manner which leads to large memory consumption.  Either we have a leak
      or more probabally we have pathalogical case leading to horrible internal
      fragmentation.  For the moment turn it off while it can be investigated.
      
      BugLink: http://bugs.launchpad.net/bugs/1636847Signed-off-by: default avatarAndy Whitcroft <apw@canonical.com>
      Acked-by: default avatarBrad Figg <brad.figg@canonical.com>
      Signed-off-by: default avatarTim Gardner <tim.gardner@canonical.com>
      179152ff
    • Kamal Mostafa's avatar
      UBUNTU: Start new release · 5f4dbc65
      Kamal Mostafa authored
      Ignore: yes
      Signed-off-by: default avatarKamal Mostafa <kamal@canonical.com>
      5f4dbc65
  2. 20 Oct, 2016 36 commits