Bug 1289312

Summary: ss should only read /proc/slabinfo when required
Product: Red Hat Enterprise Linux 6 Reporter: Stuart Auchterlonie <sauchter>
Component: iprouteAssignee: Phil Sutter <psutter>
Status: CLOSED ERRATA QA Contact: Jaroslav Aster <jaster>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.7CC: jaster
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
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-11 00:20:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1172231    
Attachments:
Description Flags
patch to prevent ss reading slabinfo unnecessarily none

Description Stuart Auchterlonie 2015-12-07 20:44:16 UTC
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 20:45:26 UTC
Created attachment 1103370 [details]
patch to prevent ss reading slabinfo unnecessarily

Comment 3 Phil Sutter 2015-12-08 15:27:02 UTC
This upstream commit fixes the behaviour:

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

    prevent the read ahead of /proc/slabinfo in ss
    
    Signed-off-by: Bryton Lee <brytonlee01>

Comment 4 Phil Sutter 2015-12-08 18:20:09 UTC
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-11 00:20:27 UTC
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