scripts/tags.sh: ignore code of user space tools

User space code in tools/ often reuses names of kernel constructions,
this confuses navigation in the normal kernel code. Let's fix this mess.

Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com>
sysfs/cpu: add attributes nr_online, nr_present, nr_possible

Surprisingly there is still no straight way to get number of processors.
Present sysfs attributes /sys/devices/system/cpu/online, present, possible
shows cpus bitmap as comma-separated list of numbers and ranges. This format
is human-freindly but isn't so easy parseable and unusable in scripts.

This patchs adds three new attributes:
/sys/devices/system/cpu/nr_online
/sys/devices/system/cpu/nr_present
/sys/devices/system/cpu/nr_possible
which shows number of cpus in corresponding state.

This doesn't add "nr_offline", because there is no such cpumask and this
number could be easily caclulated as nr_possible - nr_online.
(present attribute 'offline' has exactly this questionable definition)
nr_possible never changes so this is completely race-free.

Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com>

---

BTW The GNU C Library does weird things in the implementation of get_nprocs()
and get_nprocs_conf() (sysconf _SC_NPROCESSORS_ONLN and _SC_NPROCESSORS_CONF).

get_nprocs() parses "/sys/devices/system/cpu/online", counts lines started with
"cpu" in "/proc/stat" and even parses "/proc/cpuinfo". And because this is
expensive it caches result for one second.

get_nprocs_conf() reads /sys/devices/system/cpu/ and counts subdirectories which
names start with "cpu". It also parses "/proc/cpuinfo" on alpha and sparc.

If nothing works well both functions returns 1. They cannot report error.
For example JVM uses one of them to detect UP machine where it could do atomic
operations without 'lock' prefix. Just imagine what happens if proc and sysfs
aren't mounted. Cool, right?
tools/vm/page-types.c: catch sigbus if raced with truncate


Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com>