Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935313AbdCWTO0 (ORCPT ); Thu, 23 Mar 2017 15:14:26 -0400 Received: from mail-it0-f47.google.com ([209.85.214.47]:35597 "EHLO mail-it0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755311AbdCWTOZ (ORCPT ); Thu, 23 Mar 2017 15:14:25 -0400 Date: Thu, 23 Mar 2017 15:14:22 -0400 (EDT) From: Nicolas Pitre To: Daniel Lezcano cc: tglx@linutronix.de, linux-kernel@vger.kernel.org, peterz@infradead.org, rafael@kernel.org, vincent.guittot@linaro.org Subject: Re: [PATCH V8 2/3] irq: Track the interrupt timings In-Reply-To: <1490290924-12958-2-git-send-email-daniel.lezcano@linaro.org> Message-ID: References: <1490290924-12958-1-git-send-email-daniel.lezcano@linaro.org> <1490290924-12958-2-git-send-email-daniel.lezcano@linaro.org> User-Agent: Alpine 2.20 (LFD 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 599 Lines: 24 On Thu, 23 Mar 2017, Daniel Lezcano wrote: > +#define IRQ_TIMINGS_SHIFT 5 > +#define IRQ_TIMINGS_SIZE (1 << IRQ_TIMINGS_SHIFT) > +#define IRQ_TIMINGS_MASK (IRQ_TIMINGS_SIZE - 1) > + > +struct irq_timing { > + u32 irq; > + u64 ts; > +}; > + > +struct irq_timings { > + struct irq_timing values[IRQ_TIMINGS_SIZE]; /* our circular buffer */ This is not very space efficient because of alignment restrictions from the u64 in struct irq_timing. 25% of the memory is wasted. You could consider having two arrays instead: u32 irq_values[IRQ_TIMINGS_SIZE]; u64 ts_values[IRQ_TIMINGS_SIZE]; Nicolas