lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1191231833.26950.66.camel@localhost.localdomain>
Date:	Mon, 01 Oct 2007 19:43:53 +1000
From:	Rusty Russell <rusty@...tcorp.com.au>
To:	Dave Hansen <haveblue@...ibm.com>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: [RFC][PATCH] make module refcounts use percpu_counters

On Fri, 2007-09-28 at 16:00 -0700, Dave Hansen wrote:
> Module refcounts currently use a percpu counter stored
> in the 'struct module'.  However, we also have a more
> generic implementation that does stuff like handle
> hotplug cpus.
> 
> I'm not actually all that convinced that this refcount
> actually does a lot of good, with cpus racing bumping
> the counters at the same time that they're being
> summed up.  But, it certainly isn't any worse than
> what was there before.

That's why we look at the counters inside stop_machine_run().

Note that (1) the module implementation handles hotplug CPUs, and (2)
percpu_counter_sum() doesn't have to either (that's just for
percpu_counter_read()).

But it might be a useful cleanup (although a slight de-optimization).
If you want I'll queue for 2.6.24 (there are several other module
patches pending too).

In an ideal world, (1) we would have percpu pointers using the same
percpu mechanism as percpu variables, (2) we would have a modal variant
of percpu counters which would collapse to a single counter when we
cared about the precise value (probably using stop_machine for the
transition).  This would be useful for many other cases.

Cheers,
Rusty.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ