OSDN Git Service

drm/i915: remove padding from struct skl_wm_level
authorPaulo Zanoni <paulo.r.zanoni@intel.com>
Tue, 16 Oct 2018 22:01:24 +0000 (15:01 -0700)
committerPaulo Zanoni <paulo.r.zanoni@intel.com>
Fri, 9 Nov 2018 00:21:48 +0000 (16:21 -0800)
commiteeba5b5cdeac8633cb322084df9b4c3d20960104
treec3b6f86b489251fbcad216c70634e7a77e766ed0
parent5fc2805b3e88302e9cc62f054a7aec8a0075197f
drm/i915: remove padding from struct skl_wm_level

This reduces the size of struct skl_wm_level from 6 to 4, which
reduces the size of struct skl_plane_wm from 104 to 70, which reduces
the size of struct skl_pipe_wm from 524 to 356. A reduction of 168
padding bytes per pipe. This will increase even more the next time we
bump I915_MAX_PLANES.

v2: Paste the pahole output provided by Lucas:

$ pahole -s -C skl_wm_level drivers/gpu/drm/i915/i915.o
struct skl_wm_level {
        bool                       plane_en;             /*     0     1 */

        /* XXX 1 byte hole, try to pack */

        uint16_t                   plane_res_b;          /*     2     2 */
        uint8_t                    plane_res_l;          /*     4     1 */

        /* size: 6, cachelines: 1, members: 3 */
        /* sum members: 4, holes: 1, sum holes: 1 */
        /* padding: 1 */
        /* last cacheline: 6 bytes */
};

Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181016220133.26991-3-paulo.r.zanoni@intel.com
drivers/gpu/drm/i915/i915_drv.h