diff options
| author | Mark Salyzyn <salyzyn@google.com> | 2016-08-31 08:09:04 -0700 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-05-20 21:16:24 +0200 |
| commit | 6cbafbd144334616156c48d343ff323837df1fb3 (patch) | |
| tree | 48df20d19ce4f4fa1cdd232aa15e0fa14aa21fdd /include/linux/pstore_ram.h | |
| parent | 93ab08cfd01edcac534f95ddbc480306e47d6ae1 (diff) | |
FROMLIST: pstore: drop pmsg bounce buffer
(from https://lkml.org/lkml/2016/9/1/428)
(cherry pick from android-3.10 commit b58133100b38f2bf83cad2d7097417a3a196ed0b)
Removing a bounce buffer copy operation in the pmsg driver path is
always better. We also gain in overall performance by not requesting
a vmalloc on every write as this can cause precious RT tasks, such
as user facing media operation, to stall while memory is being
reclaimed. Added a write_buf_user to the pstore functions, a backup
platform write_buf_user that uses the small buffer that is part of
the instance, and implemented a ramoops write_buf_user that only
supports PSTORE_TYPE_PMSG.
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 31057326
Change-Id: I4cdee1cd31467aa3e6c605bce2fbd4de5b0f8caa
Diffstat (limited to 'include/linux/pstore_ram.h')
| -rw-r--r-- | include/linux/pstore_ram.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/pstore_ram.h b/include/linux/pstore_ram.h index 712757f32..45ac5a0d2 100644 --- a/include/linux/pstore_ram.h +++ b/include/linux/pstore_ram.h @@ -17,11 +17,12 @@ #ifndef __LINUX_PSTORE_RAM_H__ #define __LINUX_PSTORE_RAM_H__ +#include <linux/compiler.h> #include <linux/device.h> +#include <linux/init.h> #include <linux/kernel.h> #include <linux/list.h> #include <linux/types.h> -#include <linux/init.h> struct persistent_ram_buffer; struct rs_control; @@ -59,7 +60,9 @@ void persistent_ram_free(struct persistent_ram_zone *prz); void persistent_ram_zap(struct persistent_ram_zone *prz); int persistent_ram_write(struct persistent_ram_zone *prz, const void *s, - unsigned int count); + unsigned int count); +int persistent_ram_write_user(struct persistent_ram_zone *prz, + const void __user *s, unsigned int count); void persistent_ram_save_old(struct persistent_ram_zone *prz); size_t persistent_ram_old_size(struct persistent_ram_zone *prz); |
