Oops, this is very wrong. Please ignore this patchset.  Sorry for the noise...

Thanks!

On 2017/10/28 20:50, Zhou Chengming wrote:
The alternatives_smp_lock/unlock only be used on UP, so we don't
need to hold the text_mutex when text_poke(). Then in the next patch,
we can remove the outside smp_alt mutex too.

Signed-off-by: Zhou Chengming<zhouchengmi...@huawei.com>
---
  arch/x86/kernel/alternative.c | 4 ----
  1 file changed, 4 deletions(-)

diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index 8549269..5c3f593 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -442,7 +442,6 @@ static void alternatives_smp_lock(const s32 *start, const 
s32 *end,
  {
        const s32 *poff;

-       mutex_lock(&text_mutex);
        for (poff = start; poff<  end; poff++) {
                u8 *ptr = (u8 *)poff + *poff;

@@ -452,7 +451,6 @@ static void alternatives_smp_lock(const s32 *start, const 
s32 *end,
                if (*ptr == 0x3e)
                        text_poke(ptr, ((unsigned char []){0xf0}), 1);
        }
-       mutex_unlock(&text_mutex);
  }

  static void alternatives_smp_unlock(const s32 *start, const s32 *end,
@@ -460,7 +458,6 @@ static void alternatives_smp_unlock(const s32 *start, const 
s32 *end,
  {
        const s32 *poff;

-       mutex_lock(&text_mutex);
        for (poff = start; poff<  end; poff++) {
                u8 *ptr = (u8 *)poff + *poff;

@@ -470,7 +467,6 @@ static void alternatives_smp_unlock(const s32 *start, const 
s32 *end,
                if (*ptr == 0xf0)
                        text_poke(ptr, ((unsigned char []){0x3E}), 1);
        }
-       mutex_unlock(&text_mutex);
  }

  struct smp_alt_module {


Reply via email to