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: <20121009005425.GB20682@thunk.org>
Date:	Mon, 8 Oct 2012 20:54:25 -0400
From:	Theodore Ts'o <tytso@....edu>
To:	Peter Fordham <peter.fordham@...il.com>
Cc:	linux-ext4@...r.kernel.org
Subject: Re: spinlocks in ext4

On Mon, Oct 08, 2012 at 04:33:45PM -0700, Peter Fordham wrote:
> 
> Can someone give me a quick outline of why spinlocks are required in
> the EXT4 code? Don't all file-system requests originate from user
> context, hence meaning all locking be done with mutexes or semaphores.

Mutexes are incredibly expensive in the contended case, since you
basically have to take a trip through the scheduler.  If the other CPU
is only going to be holding the lock for a few dozen cycles, a
spinlock is far preferable to a mutex.

> I'm doing some profiling on an ARM device it's showing up spin unlock
> taking a lot of time and I'd like to migrate to using mutex's instead
> since they don't incur penalties from synchronization instructions
> like DMB.  I'm guessing there's some underlying reason why this isn't
> safe and I'd like to understand it.

Why in the world does ARM have expensive spinlocks?  ARM64 is *doomed*
if this is a fundamental property of the ARM processor design...

   	     		 	     	 - Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ