Bug 1289312 - ss should only read /proc/slabinfo when required
ss should only read /proc/slabinfo when required
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: iproute (Show other bugs)
6.7
Unspecified Unspecified
unspecified Severity high
: rc
: ---
Assigned To: Phil Sutter
Jaroslav Aster
:
Depends On:
Blocks: 1172231
  Show dependency treegraph
 
Reported: 2015-12-07 15:44 EST by Stuart Auchterlonie
Modified: 2016-05-10 20:20 EDT (History)
1 user (show)

See Also:
Fixed In Version: iproute-2.6.32-49.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1487152 (view as bug list)
Environment:
Last Closed: 2016-05-10 20:20:27 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
patch to prevent ss reading slabinfo unnecessarily (339 bytes, patch)
2015-12-07 15:45 EST, Stuart Auchterlonie
no flags Details | Diff

  None (edit)
Description Stuart Auchterlonie 2015-12-07 15:44:16 EST
Description of problem:

The `ss` utility is reading /proc/slabinfo every time it is executed
rather than when it actually needs the information.

For the customer system, which is running a low latency application
on the stock rhel6 kernel, this causes delay up around 100ms while
irq processing is blocked while gathering the information on slab
usage.

As it appears the the information gathered from /proc/slabinfo
is only used when running ss with the summary option (-s), based
on a suggestion from the customer i've done a patch to move
gathering of slabinfo so that it is only done when the information
is required.

Version-Release number of selected component (if applicable):

iproute-2.6.32-31.el6.x86_64

How reproducible:

100%

Steps to Reproduce:
1. Run ss with no options under strace
2. strace data shows /proc/slabinfo is read
3.

Actual results:

/proc/slabinfo is read every time

Expected results:

/proc/slabinfo is only read when the information is required

Additional info:
Comment 1 Stuart Auchterlonie 2015-12-07 15:45 EST
Created attachment 1103370 [details]
patch to prevent ss reading slabinfo unnecessarily
Comment 3 Phil Sutter 2015-12-08 10:27:02 EST
This upstream commit fixes the behaviour:

commit a221d621bb4af414b974ccc40bba26481337d7cf
Author: Bryton Lee <brytonlee01@gmail.com>
Date:   Thu Feb 12 14:16:04 2015 +0800

    prevent the read ahead of /proc/slabinfo in ss
    
    Signed-off-by: Bryton Lee <brytonlee01@gmail.com>
Comment 4 Phil Sutter 2015-12-08 13:20:09 EST
Fix verification is pretty simple using strace as suggested by Stuart:

Here's a test of the faulty version:

# strace -eopen ss 2>&1 | grep slabinfo
open("/proc/slabinfo", O_RDONLY)        = 3

With the patch from comment #3 applied, the above command does not produce any output.
Comment 8 errata-xmlrpc 2016-05-10 20:20:27 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-0895.html

Note You need to log in before you can comment on or make changes to this bug.