mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "David Luyer" <david@luyer.net>
To: "'Alan Cox'" <alan@lxorguk.ukuu.org.uk>
Cc: <linux-kernel@vger.kernel.org>
Subject: RE: Linux 2.4.19ac3rc3 on IBM x330/x340 SMP - "ps" time skew
Date: Wed, 31 Jul 2002 23:18:10 +1000	[thread overview]
Message-ID: <00c501c23894$b774de00$638317d2@pacific.net.au> (raw)
In-Reply-To: <1028125599.7886.68.camel@irongate.swansea.linux.org.uk>

> On Wed, 2002-07-31 at 13:59, David Luyer wrote:
> >   printf("%d\n", sysconf(_SC_NPROCESSORS_CONF));
> > }
> > luyer@praxis8:~$ ./cpus
> > 4
> > luyer@praxis8:~$ grep 'processor        ' /proc/cpuinfo
> > processor       : 0
> > processor       : 1
> 
> In which case I suggest you file a glibc bug. sysconf looks 
> at the /proc stuff as I understand it

Great, got it, thanks: sysconf(_SC_NPROCESSORS_CONF) parses
/proc/cpuinfo
using a simple parser:

#ifndef GET_NPROCS_PARSER
# define GET_NPROCS_PARSER(FP, BUFFER, RESULT)
\
  do
\
    {
\
      (RESULT) = 0;
\
      /* Read all lines and count the lines starting with the string
\
         "processor".  We don't have to fear extremely long lines since
\
         the kernel will not generate them.  8192 bytes are really
\
         enough.  */
\
      while (fgets_unlocked (BUFFER, sizeof (BUFFER), FP) != NULL)
\
        if (strncmp (BUFFER, "processor", 9) == 0)
\
          ++(RESULT);
\
    }
\
  while (0)
#endif

It's being tricked by this:

luyer@praxis8:~$ cat /proc/cpuinfo | grep '^processor'
processor       : 0
processor id    : 0
processor       : 1
processor id    : 0

The "processor id" line, only present with SMP enabled, is being counted
as a processor.

David.


  reply	other threads:[~2002-07-31 13:15 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-31 11:01 David Luyer
2002-07-31 13:28 ` Alan Cox
2002-07-31 12:59   ` David Luyer
2002-07-31 14:26     ` Alan Cox
2002-07-31 13:18       ` David Luyer [this message]
2002-07-31 13:31       ` Dana Lacoste
2002-07-31 13:38         ` David Luyer
2002-07-31 15:04           ` Alan Cox
2002-07-31 13:57             ` David Luyer
2002-07-31 16:15       ` NMI watchdog, die(), & console_loglevel Jonathan Lundell
2002-07-31 19:14       ` Linux 2.4.19ac3rc3 on IBM x330/x340 SMP - "ps" time skew Albert D. Cahalan
2002-08-01  0:37         ` Alan Cox
2002-07-31 23:49           ` Dave Jones
2002-08-01  1:30             ` Alan Cox
2002-08-01  0:19               ` Dave Jones
2002-07-31 23:42     ` Lincoln Dale
2002-08-01  1:33       ` Albert D. Cahalan
2002-08-01  3:34         ` Martin J. Bligh
2002-08-01 14:16           ` Alan Cox
2002-08-01  8:49         ` Benjamin Herrenschmidt
2002-08-01 11:40         ` Lincoln Dale
2002-08-01 18:26           ` Albert D. Cahalan
2002-08-01 14:15         ` Alan Cox
  -- strict thread matches above, loose matches on Subject: below --
2002-07-31  2:46 David Luyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='00c501c23894$b774de00$638317d2@pacific.net.au' \
    --to=david@luyer.net \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®