archive mirror
 help / color / mirror / Atom feed
From: "Kasatkin, Dmitry" <>
To: Eric Paris <>
Cc: Mimi Zohar <>,,,,
	David Safford <>,
	Mimi Zohar <>
Subject: Re: [RFC][PATCH v1 5/9] ima: allocating iint improvements
Date: Thu, 9 Feb 2012 11:40:22 +0200	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

On Wed, Feb 1, 2012 at 8:46 PM, Kasatkin, Dmitry
<> wrote:
> On Wed, Feb 1, 2012 at 6:58 PM, Eric Paris <> wrote:
>> On Mon, Jan 30, 2012 at 5:14 PM, Mimi Zohar <> wrote:
>>> From: Dmitry Kasatkin <>
>>>  static struct rb_root integrity_iint_tree = RB_ROOT;
>>> -static DEFINE_SPINLOCK(integrity_iint_lock);
>>> +static DEFINE_RWLOCK(integrity_iint_lock);
>>>  static struct kmem_cache *iint_cache __read_mostly;
>> Has any profiling been done here?   rwlocks have been shown to
>> actually be slower on multi processor systems in a number of cases due
>> to the cache line bouncing required.  I believe the current kernel
>> logic is that if you have a short critical section and you can't show
>> profile data the rwlocks are better, just stick with a spinlock.
> No, I have not done any profiling.
> My assumption was that rwlocks are better when there many readers.
> If what you say is true then rwlocks are useless...
> With big sections it is necessary to use rw semaphores.


I and Mimi made performance measurements with rwlocks and spinlocks.
We used kernel compilation with multiple jobs as a test,
because it reads and creates lots of files..

In all cases rwlocks implementation performed better than spinlocks,
but very insignificantly. For example with total compilation time
around 6 minutes, with rwlocks time was 1 - 3 seconds shorter... But
always like that.

So as conclusion I can make, that usage of rwlocks is justified...

Thanks for bringing this up...

> - Dmitry

  reply	other threads:[~2012-02-09  9:40 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-30 22:13 [RFC][PATCH v1 0/9] ima: appraisal extension Mimi Zohar
2012-01-30 22:13 ` [RFC][PATCH v1 1/9] vfs: extend vfs_removexattr locking Mimi Zohar
2012-01-30 22:13 ` [RFC][PATCH v1 2/9] vfs: move ima_file_free before releasing the file Mimi Zohar
2012-01-30 22:13 ` [RFC][PATCH v1 3/9] ima: integrity appraisal extension Mimi Zohar
2012-01-30 22:13 ` [RFC][PATCH v1 4/9] ima: add appraise action keywords and default rules Mimi Zohar
2012-01-30 22:14 ` [RFC][PATCH v1 5/9] ima: allocating iint improvements Mimi Zohar
2012-02-01 16:58   ` Eric Paris
2012-02-01 18:46     ` Kasatkin, Dmitry
2012-02-09  9:40       ` Kasatkin, Dmitry [this message]
2012-01-30 22:14 ` [RFC][PATCH v1 6/9] ima: add inode_post_setattr call Mimi Zohar
2012-01-30 22:14 ` [RFC][PATCH v1 7/9] ima: add ima_inode_setxattr/removexattr function and calls Mimi Zohar
2012-01-30 22:14 ` [RFC][PATCH v1 8/9] ima: add support for different security.ima data types Mimi Zohar
2012-01-30 22:14 ` [RFC][PATCH v1 9/9] ima: digital signature verification support Mimi Zohar

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:

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

  git send-email \ \ \ \ \ \ \ \ \ \

* 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;
as well as URLs for NNTP newsgroup(s).