linux/fs/efivarfs
Sylvain Chouleur 21b3ddd39f efi: Don't use spinlocks for efi vars
All efivars operations are protected by a spinlock which prevents
interruptions and preemption. This is too restricted, we just need a
lock preventing concurrency.
The idea is to use a semaphore of count 1 and to have two ways of
locking, depending on the context:
- In interrupt context, we call down_trylock(), if it fails we return
  an error
- In normal context, we call down_interruptible()

We don't use a mutex here because the mutex_trylock() function must not
be called from interrupt context, whereas the down_trylock() can.

Signed-off-by: Sylvain Chouleur <sylvain.chouleur@intel.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Sylvain Chouleur <sylvain.chouleur@gmail.com>
Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
2016-09-09 16:08:42 +01:00
..
file.c efivarfs: Make efivarfs_file_ioctl() static 2016-05-07 07:06:13 +02:00
inode.c efi: Don't use spinlocks for efi vars 2016-09-09 16:08:42 +01:00
internal.h efi: Make efivarfs entries immutable by default 2016-02-10 16:25:52 +00:00
Kconfig fs: Make efivarfs a pseudo filesystem, built by default with EFI 2015-01-05 14:15:58 +00:00
Makefile efivarfs: Move to fs/efivarfs 2013-04-17 13:25:09 +01:00
super.c efi: Don't use spinlocks for efi vars 2016-09-09 16:08:42 +01:00