OSDN Git Service

powerpc/pseries: Do not save the previous DTL mask value
authorNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Wed, 3 Jul 2019 17:03:55 +0000 (22:33 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 4 Jul 2019 12:20:48 +0000 (22:20 +1000)
When CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is enabled, we always initialize
DTL enable mask to DTL_LOG_PREEMPT (0x2). There are no other places
where the mask is changed. As such, when reading the DTL log buffer
through debugfs, there is no need to save and restore the previous mask
value.

We don't need to save and restore the earlier mask value if
CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not enabled. So, remove the field
from the structure as well.

Acked-by: Nathan Lynch <nathanl@linux.ibm.com>
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/platforms/pseries/dtl.c

index 051ea2d..fb05804 100644 (file)
@@ -55,7 +55,6 @@ struct dtl_ring {
        struct dtl_entry *write_ptr;
        struct dtl_entry *buf;
        struct dtl_entry *buf_end;
-       u8      saved_dtl_mask;
 };
 
 static DEFINE_PER_CPU(struct dtl_ring, dtl_rings);
@@ -105,7 +104,6 @@ static int dtl_start(struct dtl *dtl)
        dtlr->write_ptr = dtl->buf;
 
        /* enable event logging */
-       dtlr->saved_dtl_mask = lppaca_of(dtl->cpu).dtl_enable_mask;
        lppaca_of(dtl->cpu).dtl_enable_mask |= dtl_event_mask;
 
        dtl_consumer = consume_dtle;
@@ -123,7 +121,7 @@ static void dtl_stop(struct dtl *dtl)
        dtlr->buf = NULL;
 
        /* restore dtl_enable_mask */
-       lppaca_of(dtl->cpu).dtl_enable_mask = dtlr->saved_dtl_mask;
+       lppaca_of(dtl->cpu).dtl_enable_mask = DTL_LOG_PREEMPT;
 
        if (atomic_dec_and_test(&dtl_count))
                dtl_consumer = NULL;