Bug 201156 - sysklogd-1.4.1-39.1 introduces serious performance penalty compared to sysklogd-1.4.1-39
sysklogd-1.4.1-39.1 introduces serious performance penalty compared to sysklo...
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: sysklogd (Show other bugs)
6
All Linux
medium Severity medium
: ---
: ---
Assigned To: Peter Vrabec
Brian Brock
:
Depends On:
Blocks: 201216
  Show dependency treegraph
 
Reported: 2006-08-03 05:09 EDT by Steven Dake
Modified: 2016-04-26 09:26 EDT (History)
0 users

See Also:
Fixed In Version: 1.4.1-39.2
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-11-05 15:12:40 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
test case that demonstrates the problem. (2.47 KB, text/plain)
2006-08-03 05:09 EDT, Steven Dake
no flags Details

  None (edit)
Description Steven Dake 2006-08-03 05:09:34 EDT
Description of problem:
sysklogd-1.4.1-39.1 introduces a serious performance problem!

on i386 when the syslogd ipc system becomes full, syslogs take about 1msec with
version 1.4.1-39.  Upgrading to 1.4.1-39.1 takes up to 140msec.  On x86_64,
syslog 1.4.1-39 take up 65 msec.  Test case attached.

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

vs

sysklogd-1.4.1-39

How reproducible:
100% with test case.

Steps to Reproduce:
1.gcc stc.c
2../a.out
3.watch output on i386 vs x86_64
  
Actual results:
on my rhel4 ws:
4100 usec runtime
3729 usec runtime
3865 usec runtime
4025 usec runtime
4223 usec runtime
3817 usec runtime
3971 usec runtime
3915 usec runtime
4060 usec runtime
4144 usec runtime
4035 usec runtime

On fc6t1 i386 sysklogd-1.4.1-39
1262 usec runtime
812 usec runtime
975 usec runtime
968 usec runtime
969 usec runtime
941 usec runtime
776 usec runtime
789 usec runtime
768 usec runtime
798 usec runtime
780 usec runtime

On fc6t1 i386 sysklogd-1.4.1-39.1
80 usec runtime
38 usec runtime
21 usec runtime
38 usec runtime
81733 usec runtime
142776 usec runtime
150933 usec runtime
137985 usec runtime
138908 usec runtime
153637 usec runtime
142516 usec runtime
159047 usec runtime


On fc6t1 x86_64:
59 usec runtime
60 usec runtime
65904 usec runtime
66753 usec runtime
66930 usec runtime
66893 usec runtime
66893 usec runtime
66896 usec runtime



Expected results:
1msec max time period

Additional info:
I took a look at the changes between the two versions.  It says "-rebuild" which
I assume means built with newer gcc or perhaps different build options.  65 msec
may sound trivial, but it breaks any kind of userland software that relies on
timing and uses the syslog c library api.  Our usage is with Redhat Cluster
Suite with the openais package.
Comment 1 Steven Dake 2006-08-03 05:09:36 EDT
Created attachment 133542 [details]
test case that demonstrates the problem.
Comment 2 Steven Dake 2006-08-03 05:15:57 EDT
please note the test case for x86_64 is with sysklogd-1.4.1-39.1 not
sysklogd-1.4.1-39 as originally reported.
Comment 4 Jay Fenlason 2006-08-03 16:07:10 EDT
I've confirmed that the only source differences between the two source rpms  
are the release number and the changelog.  This'll probably have to be  
investigated by someone who's better at dissassembling than I am.  
Comment 6 Peter Vrabec 2006-11-05 09:11:13 EST
I can't reproduce it with sysklogd-1.4.1-39.2 :-(

on x86_64
255 usec runtime
340 usec runtime
39 usec runtime
39 usec runtime
40 usec runtime
37 usec runtime
38 usec runtime
37 usec runtime
40 usec runtime
38 usec runtime
38 usec runtime
36 usec runtime
1026 usec runtime
577 usec runtime
827 usec runtime
827 usec runtime
824 usec runtime
820 usec runtime
822 usec runtime
823 usec runtime
851 usec runtime
830 usec runtime
818 usec runtime
823 usec runtime
823 usec runtime
832 usec runtime
822 usec runtime
818 usec runtime


on i386
255 usec runtime
45 usec runtime
36 usec runtime
32 usec runtime
36 usec runtime
33 usec runtime
20 usec runtime
19 usec runtime
20 usec runtime
19 usec runtime
20 usec runtime
20 usec runtime
3372 usec runtime
508 usec runtime
493 usec runtime
502 usec runtime
493 usec runtime
504 usec runtime
496 usec runtime
498 usec runtime
499 usec runtime
Comment 7 Steven Dake 2006-11-05 14:58:58 EST
These times look solid.  In fact 1.4.1-39 worked and 1.4.1-39.1 didn't work. 
Only change wa a rebuild.  So perhaps this was a build error and can be closed
now since the package has been rebuilt in .2.

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