From: Stanislav Kinsbursky <skinsbursky@parallels.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: "peterz@infradead.org" <peterz@infradead.org>,
"mingo@redhat.com" <mingo@redhat.com>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"devel@openvz.org" <devel@openvz.org>
Subject: Re: [RFC PATCH] posix timers: allocate timer id per task
Date: Tue, 16 Oct 2012 11:57:58 +0400 [thread overview]
Message-ID: <507D1386.2050505@parallels.com> (raw)
In-Reply-To: <1350318883.3954.321.camel@edumazet-glaptop>
15.10.2012 20:34, Eric Dumazet пишет:
> On Mon, 2012-10-15 at 20:17 +0400, Stanislav Kinsbursky wrote:
>> This patch is required CRIU project (www.criu.org).
>> To migrate processes with posix timers we have to make sure, that we can
>> restore posix timer with proper id.
>> Currently, this is not true, because timer ids are allocated globally.
>> So, this is precursor patch and it's purpose is make posix timer id to be
>> allocated per task.
>>
>> Patch replaces global idr with global hash table for posix timers and
>> makes timer ids unique not globally, but per task. Next free timer id is type
>> of integer and stored on signal struct (posix_timer_id). If free timer id
>> reaches negative value on timer creation, it will be dropped to zero and
>> -EAGAIN will be returned to user.
>> Hash table is size of page (4KB).
>> Key is constructed as follows:
>> key = hash_ptr(current->signal) ^ hash_32(posix_timer_id);
>>
>> Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
>
>
> Hmm, it seems you removed idr, rcu friendly, and reinstated a fixed size
> hash table, protected by a _single_ spinlock ? Oh well.
>
> Please take a look at commit 8af088710d1e, and make sure you fix your
> problem and keep performance as good as before.
>
Thanks, Eric.
I'll update.
>
>
--
Best regards,
Stanislav Kinsbursky
next prev parent reply other threads:[~2012-10-16 7:58 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-15 16:17 [RFC PATCH] posix timers: allocate timer id per task Stanislav Kinsbursky
2012-10-15 16:34 ` Eric Dumazet
2012-10-16 7:57 ` Stanislav Kinsbursky [this message]
2012-10-15 17:04 ` Peter Zijlstra
2012-10-16 8:00 ` Stanislav Kinsbursky
2012-10-15 19:08 ` Thomas Gleixner
2012-10-16 8:08 ` Stanislav Kinsbursky
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=507D1386.2050505@parallels.com \
--to=skinsbursky@parallels.com \
--cc=devel@openvz.org \
--cc=eric.dumazet@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.