Bug 251756 - the pcscd daemon started eating CPU cycles for no reason
the pcscd daemon started eating CPU cycles for no reason
Status: CLOSED INSUFFICIENT_DATA
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: ccid (Show other bugs)
5.0
All Linux
low Severity low
: ---
: ---
Assigned To: Bob Relyea
desktop-bugs@redhat.com
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-08-10 17:27 EDT by Steven Rostedt
Modified: 2008-07-31 15:49 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-07-31 15:49:10 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Steven Rostedt 2007-08-10 17:27:31 EDT
Description of problem:
I was testing latencies on a RHEL5 box with the latest RT kernel from upstream.
2.6.23-rc2-rt2.  I was running latency tests that creates a sender and receiver
UDP transmissions at high priority. I have another computer hooked up via serial
to this test box.

While running the tests, I was monitoring CPU usage, and I noticed that the
pcscd daemon was running quit a bit. Here's an output from top:

2758 root      20   0 27148 1344  540 S    1  0.1   1:59.93 pcscd

Seems to be quite high for a daemon that is not in use (or at least I don't
know of anything using it!)

Note, this could just be an RT kernel accounting issue in the scheduler.

Reason why I say this, I did a strace on the daemon and got this:
[root@bxrhel5 rt]# strace -p 2758
Process 2758 attached - interrupt to quit
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1267, ...}) = 0
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1267, ...}) = 0
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1267, ...}) = 0
sendto(4, "<14>Aug 10 17:18:12 pcscd: winsc"..., 127, MSG_NOSIGNAL, NULL, 0) = 127
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1267, ...}) = 0
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1267, ...}) = 0
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1267, ...}) = 0
sendto(4, "<14>Aug 10 17:18:12 pcscd: pcscd"..., 95, MSG_NOSIGNAL, NULL, 0) = 95
select(6, [5], NULL, NULL, NULL

But the load still increased in top for the pid, even though the strace still
showed that it was in a select, and not returning from it. But this may not be
the thread I want:
[root@bxrhel5 rt]# ps axH |grep pcsc
 2758 ?        Ssl    0:00 pcscd
 2758 ?        Ssl    2:54 pcscd
 2758 ?        Ssl    0:01 pcscd

Seems that one of the threads is quite busy. Or the kernel just thinks it is busy.
Comment 1 RHEL Product and Program Management 2008-06-09 18:01:15 EDT
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

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