Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp40127pxa; Fri, 21 Aug 2020 00:04:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxcXca7WQ4VBUtPYW9xLBCbCFNJi/00dI8w6DfalZNwByUsf58QWCzBw+qPUWrtHztQ7+4w X-Received: by 2002:a05:6402:2206:: with SMTP id cq6mr1372272edb.349.1597993484939; Fri, 21 Aug 2020 00:04:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597993484; cv=none; d=google.com; s=arc-20160816; b=s0GrIWieqDSphXFTLX79YAzG9rheIcfH2kbzsyOwmIsjtmh8fYHfBLnfyuPWdKC2c4 gJf5eb+OFM2b8CQuwi0IhNJgCBfpWBrOY8tE539QtWaxV7lINChab93mb76LUWF8pMbE bi6P1qimQ24xK7J2M5F6Uak0uRDrgG/chr//+c5IAsQcJbDc050QKUvxa8rhX1P2GCwH yzknRWwMGUSOCf+G71NS3OsBq2Z4OY0NRyN8P/5OrwQ6NaRTxDsb4AGItuX8GRH7KKw/ aulVzflb9mYITfvwBGmvsAu/7uDA2e0FFjLWlmH5XZGiXHzEcShELdEUaHUztKMkbs78 6aCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=DlOtHCZhTjkTOnIHeVcT4uedUfnkkWitrR4JY7ZgBs8=; b=DguCCWsajELRK1872jSOs8qsUjDLUNngFORMfM+G7149Z88eGXXwdhzpAPIS59GM4o LMk/6I8x7B2r5hzNYTW99XoiqbMPipvvREdeJAPDOwfI3SepsnfpX0GMi1c/OzeMtUI0 G+IcL4ES7RvmipIb9t4dK/PV3RJWlWcbFsknE3HyI9oP1wPLEWiIp7ljM702voIejBHK VdRMdQoDZr3sKBcLX2Td+wTJk3Mqu7ef8OtnyA334Yhwjxmum6TEcZWMf+METtA/rktk Kn7mO3Zg2pd8p7WB/2i/zOwOHqujDD1biOAdM2Ybssd07KKtl8vsaFW5LOyhFftJsyLd oOnw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@verdurent-com.20150623.gappssmtp.com header.s=20150623 header.b=SPXJPhyl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r12si574942ejr.473.2020.08.21.00.04.20; Fri, 21 Aug 2020 00:04:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@verdurent-com.20150623.gappssmtp.com header.s=20150623 header.b=SPXJPhyl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727873AbgHUHDF (ORCPT + 99 others); Fri, 21 Aug 2020 03:03:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59318 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726548AbgHUHDD (ORCPT ); Fri, 21 Aug 2020 03:03:03 -0400 Received: from mail-vk1-xa43.google.com (mail-vk1-xa43.google.com [IPv6:2607:f8b0:4864:20::a43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E025AC061385 for ; Fri, 21 Aug 2020 00:03:02 -0700 (PDT) Received: by mail-vk1-xa43.google.com with SMTP id s81so211280vkb.3 for ; Fri, 21 Aug 2020 00:03:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=verdurent-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=DlOtHCZhTjkTOnIHeVcT4uedUfnkkWitrR4JY7ZgBs8=; b=SPXJPhylKpfuB6WJexBw/N2MHPIljRVjFESN3CI9zs4CMkxx0YI7Gw/GK5524t0XLt uDi5K46RnV2Z/SvpckTlcCwfhAIZaD9jCT05tMgc7JX/Vygmloh27a5Ikkx3+rfdSO6c Qp1W5ACXfhfaekUnx0C+BLks7hWk7+ItJ88wt4D+rUh+CJRpS8O493dN/ZqD7IWL0ZvI 0SuKqwFH4jwfbJTBgJxEjPHb78It2GZFkm8piqZTnA2wR03RMiMzS//3Ub28/rvfFWXA 1zVb/AGsUvJRhQepUxvPSQfeKW/jCTuqYrLgLThQiiiCqEQU0J/Lsxgr5mgjM4wBCTTP CH2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=DlOtHCZhTjkTOnIHeVcT4uedUfnkkWitrR4JY7ZgBs8=; b=BPPrUcRQCsJjlIlKXLRh+xXTkfuJgEvA0T33WhYcUQ5IxrMDFsoJWRjtsW/GcQB84o bP6nmJPHQk3racsWbJevIXHz0uzPQRF08xEU7fAlikma6VKbM78j1PWdtwx4hEKr32Ex HuPDyIY/96ruUjJ6JFQC3HGttB+7hvHv68zHMIABMJ25Qy/2mRIXG53t+TNv9aC84K72 v9GQzirrnHgAn7n4XdrFRbEmMXeo99BlVQu52qmG0yZ4sDm2tEzWUOzJtv3qAj+b8Em0 23J/nfTPlKv0f23FYZWPa7jNen8ORp6uoi4uYWQV1UItW3iGoJHie4I8wHLl9qpov/9a orrQ== X-Gm-Message-State: AOAM531CDGv3adL3M0nM6PnAxfPdGelZ7VF/u7vrpeYvzAkj/y2Fmw4f NgDO9DNlH18qo0buNhtm1zSvCF+OTN4nhn9gyUjVEw== X-Received: by 2002:a1f:36c2:: with SMTP id d185mr854844vka.9.1597993382082; Fri, 21 Aug 2020 00:03:02 -0700 (PDT) MIME-Version: 1.0 References: <20200821024406.10404-1-zbestahu@gmail.com> In-Reply-To: <20200821024406.10404-1-zbestahu@gmail.com> From: Amit Kucheria Date: Fri, 21 Aug 2020 12:32:51 +0530 Message-ID: Subject: Re: [PATCH] thermal: sysfs: Fall back to vmalloc() for cooling device's statistics To: Yue Hu Cc: Zhang Rui , Daniel Lezcano , Viresh Kumar , Linux PM list , LKML , huyue2@yulong.com, zhangwen@yulong.com Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Aug 21, 2020 at 8:14 AM Yue Hu wrote: > > From: Yue Hu > > We observed warning about kzalloc() when register thermal cooling device > in backlight_device_register(). backlight display can be a cooling device > since reducing screen brightness will can help reduce temperature. > > However, ->get_max_state of backlight will assign max brightness of 1024 > to states. The memory size can be getting 1MB+ due to states * states. > That is so large to trigger kmalloc() warning. > > So, let's use kvzalloc() to avoid the issue, also change kfree -> kvfree. > > Suggested-by: Amit Kucheria > Signed-off-by: Yue Hu Reviewed-by: Amit Kucheria > --- > drivers/thermal/thermal_sysfs.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/thermal/thermal_sysfs.c b/drivers/thermal/thermal_sysfs.c > index aa99edb..d1703ee 100644 > --- a/drivers/thermal/thermal_sysfs.c > +++ b/drivers/thermal/thermal_sysfs.c > @@ -16,6 +16,7 @@ > #include > #include > #include > +#include > #include > #include > > @@ -919,7 +920,7 @@ static void cooling_device_stats_setup(struct thermal_cooling_device *cdev) > var += sizeof(*stats->time_in_state) * states; > var += sizeof(*stats->trans_table) * states * states; > > - stats = kzalloc(var, GFP_KERNEL); > + stats = kvzalloc(var, GFP_KERNEL); > if (!stats) > return; > > @@ -938,7 +939,7 @@ static void cooling_device_stats_setup(struct thermal_cooling_device *cdev) > > static void cooling_device_stats_destroy(struct thermal_cooling_device *cdev) > { > - kfree(cdev->stats); > + kvfree(cdev->stats); > cdev->stats = NULL; > } > > -- > 1.9.1 >