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
| ||
|
Message-ID: <53F207B4.6070908@redhat.com> Date: Mon, 18 Aug 2014 10:03:32 -0400 From: Rik van Riel <riel@...hat.com> To: Mike Galbraith <umgwanakikbuti@...il.com>, Oleg Nesterov <oleg@...hat.com> CC: linux-kernel@...r.kernel.org, peterz@...radead.org, fweisbec@...il.com, akpm@...ux-foundation.org, srao@...hat.com, lwoodman@...hat.com, atheurer@...hat.com Subject: Re: [PATCH v2 2/3] time,signal: protect resource use statistics with seqlock On 08/18/2014 12:44 AM, Mike Galbraith wrote: > On Sat, 2014-08-16 at 19:50 +0200, Oleg Nesterov wrote: >> On 08/16, Rik van Riel wrote: >>> >>> + do { >>> + seq = nextseq; >>> + read_seqbegin_or_lock(&sig->stats_lock, &seq); >>> + times->utime = sig->utime; >>> + times->stime = sig->stime; >>> + times->sum_exec_runtime = sig->sum_sched_runtime; >>> + >>> + for_each_thread(tsk, t) { >>> + task_cputime(t, &utime, &stime); >>> + times->utime += utime; >>> + times->stime += stime; >>> + times->sum_exec_runtime += task_sched_runtime(t); >>> + } >>> + /* If lockless access failed, take the lock. */ >>> + nextseq = 1; >> >> Yes, thanks, this answers my concerns. >> >> Cough... can't resist, and I still think that we should take rcu_read_lock() >> only around for_each_thread() and the patch expands the critical section for >> no reason. But this is minor, I won't insist. > > Hm. Should traversal not also disable preemption to preserve the error > bound Peter mentioned? The second traversal takes the spinlock, which automatically disables preemption. -- 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