lkml.org 
[lkml]   [2024]   [Apr]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 8/9] crypto: hisilicon/debugfs - Resolve the problem of applying for redundant space in sq dump
    Date
    When dumping SQ, only the corresponding ID's SQE needs to be
    dumped, and there is no need to apply for the entire SQE
    memory. This is because excessive dump operations can lead to
    memory resource waste.

    Therefor apply for the space corresponding to sqe_id separately
    to avoid space waste.

    Signed-off-by: Chenghai Huang <huangchenghai2@huawei.com>
    ---
    v1 -> v2
    - fixed codecheck warnings about unused variable
    | Reported-by: kernel test robot <lkp@intel.com>
    | Closes: https://lore.kernel.org/oe-kbuild-all/202404040616.cF0Pvb9M-lkp@intel.com/
    ---
    drivers/crypto/hisilicon/debugfs.c | 11 +++++------
    1 file changed, 5 insertions(+), 6 deletions(-)

    diff --git a/drivers/crypto/hisilicon/debugfs.c b/drivers/crypto/hisilicon/debugfs.c
    index e9fa42381242..8e7dfdc5b989 100644
    --- a/drivers/crypto/hisilicon/debugfs.c
    +++ b/drivers/crypto/hisilicon/debugfs.c
    @@ -311,7 +311,7 @@ static int q_dump_param_parse(struct hisi_qm *qm, char *s,
    static int qm_sq_dump(struct hisi_qm *qm, char *s, char *name)
    {
    u16 sq_depth = qm->qp_array->cq_depth;
    - void *sqe, *sqe_curr;
    + void *sqe;
    struct hisi_qp *qp;
    u32 qp_id, sqe_id;
    int ret;
    @@ -320,17 +320,16 @@ static int qm_sq_dump(struct hisi_qm *qm, char *s, char *name)
    if (ret)
    return ret;

    - sqe = kzalloc(qm->sqe_size * sq_depth, GFP_KERNEL);
    + sqe = kzalloc(qm->sqe_size, GFP_KERNEL);
    if (!sqe)
    return -ENOMEM;

    qp = &qm->qp_array[qp_id];
    - memcpy(sqe, qp->sqe, qm->sqe_size * sq_depth);
    - sqe_curr = sqe + (u32)(sqe_id * qm->sqe_size);
    - memset(sqe_curr + qm->debug.sqe_mask_offset, QM_SQE_ADDR_MASK,
    + memcpy(sqe, qp->sqe + sqe_id * qm->sqe_size, qm->sqe_size);
    + memset(sqe + qm->debug.sqe_mask_offset, QM_SQE_ADDR_MASK,
    qm->debug.sqe_mask_len);

    - dump_show(qm, sqe_curr, qm->sqe_size, name);
    + dump_show(qm, sqe, qm->sqe_size, name);

    kfree(sqe);

    --
    2.30.0

    \
     
     \ /
      Last update: 2024-05-27 16:27    [W:4.173 / U:1.760 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site