ASoC: SOF: sof-priv.h: optimize snd_sof_ipc_msg
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Fri, 2 Aug 2024 12:46:08 +0000 (14:46 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 2 Aug 2024 13:05:15 +0000 (14:05 +0100)
Move waitq to make sure it's entirely in the same cache line, and move
ipc_complete to reduce padding.

struct snd_sof_ipc_msg {
void *                     msg_data;             /*     0     8 */
void *                     reply_data;           /*     8     8 */
size_t                     msg_size;             /*    16     8 */
size_t                     reply_size;           /*    24     8 */
int                        reply_error;          /*    32     4 */
bool                       ipc_complete;         /*    36     1 */

/* XXX 3 bytes hole, try to pack */

wait_queue_head_t          waitq;                /*    40    88 */
/* --- cacheline 2 boundary (128 bytes) --- */
void *                     rx_data;              /*   128     8 */

/* size: 136, cachelines: 3, members: 8 */
/* sum members: 133, holes: 1, sum holes: 3 */
/* last cacheline: 8 bytes */
};

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://patch.msgid.link/20240802124609.188954-4-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/sof-priv.h

index 6ecc58e115926a05d9831e8c5523981f27445c58..843be3b6415d97e3ceb712aa74479949a1fdccac 100644 (file)
@@ -425,11 +425,12 @@ struct snd_sof_ipc_msg {
        size_t reply_size;
        int reply_error;
 
-       /* notification, firmware initiated messages */
-       void *rx_data;
+       bool ipc_complete;
 
        wait_queue_head_t waitq;
-       bool ipc_complete;
+
+       /* notification, firmware initiated messages */
+       void *rx_data;
 };
 
 /**