From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9554DC19F32 for ; Wed, 5 Mar 2025 04:56:28 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9005F10E0BF; Wed, 5 Mar 2025 04:56:22 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="FcQF7Jp6"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5992C10E0BF for ; Wed, 5 Mar 2025 04:56:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1741150581; x=1772686581; h=date:message-id:from:to:cc:subject:in-reply-to: references:mime-version; bh=/PHMAVfDV3kdfh4l6O7mVKNA7u268oJ6YClVYiE9tCQ=; b=FcQF7Jp6aramocFupDefmQpk3529UxQH7dtJSXoyuIBjYer6Lv/WocNa StNtpXCwdh/PZP09jSarzPbznQXeR3JWBft+FeF2xv3DrIUennHXPwuiJ z8xmJCIwWwoXLvqRULuAzcwviPbu5p2J6TVv7eC2T61aadyc01Iib3eyB Hm/rzJTIGfNUtPzIdW5AoFs9TFYGTdH7QW0mc6XiWu/CaFsDhs9Bg2/rt Mz0Au00PdTKa2+hnOR0j6vWUdtRVjxnX09f8LRQXOOBvHIH9q3PUWR37i bS0L3aNhwPDbabQf9R/sAOGHzfown4HpUJF3OjRROtxmZGcSoDhtVnOCc Q==; X-CSE-ConnectionGUID: WtFHZt0RSB+/Zs4thVX/FQ== X-CSE-MsgGUID: Yj7lNl49QJKdtB0V7YbAbw== X-IronPort-AV: E=McAfee;i="6700,10204,11363"; a="59508314" X-IronPort-AV: E=Sophos;i="6.14,222,1736841600"; d="scan'208";a="59508314" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2025 20:56:21 -0800 X-CSE-ConnectionGUID: pZi0Tfy9T1yyIYG4TPV7KA== X-CSE-MsgGUID: Sglc5Q2UQxmO17v28sbNKw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="119086493" Received: from vanisiub-mobl.amr.corp.intel.com (HELO adixit-MOBL3.intel.com) ([10.125.83.50]) by orviesa007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2025 20:56:21 -0800 Date: Tue, 04 Mar 2025 20:56:20 -0800 Message-ID: <878qpkt6rv.wl-ashutosh.dixit@intel.com> From: "Dixit, Ashutosh" To: Umesh Nerlige Ramappa Cc: Subject: Re: [PATCH i-g-t 1/2] tests/intel/xe_oa: Do not discard single reports in oa-formats In-Reply-To: <20250305005716.168646-2-umesh.nerlige.ramappa@intel.com> References: <20250305005716.168646-1-umesh.nerlige.ramappa@intel.com> <20250305005716.168646-2-umesh.nerlige.ramappa@intel.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/29.4 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-BeenThere: igt-dev@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development mailing list for IGT GPU Tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" On Tue, 04 Mar 2025 16:57:15 -0800, Umesh Nerlige Ramappa wrote: > > Internally the test is expecting a single read call to return at least > two reports. If two reports are not read, the logic retries from the > beginning. This can easily fail if each read just returns one report. OK, you mean 1000 reads each returning just one report. > In essence, many reports are available, but the logic causes test to > fail. Instead, count and use every report read when waiting for two > reports to be available. > > Signed-off-by: Umesh Nerlige Ramappa > --- > tests/intel/xe_oa.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c > index dd71683928bd..e5744d830d39 100644 > --- a/tests/intel/xe_oa.c > +++ b/tests/intel/xe_oa.c > @@ -1314,13 +1314,14 @@ read_2_oa_reports(int format_id, > int max_reports = default_oa_buffer_size / format_size; > int buf_size = format_size * max_reports * 1.5; > uint8_t *buf = malloc(buf_size); > + ssize_t len = 0; > int n = 0; > > for (int i = 0; i < 1000; i++) { > u32 oa_status = 0; > - ssize_t len; > + int ret; > > - while ((len = read(stream_fd, buf, buf_size)) < 0 && errno == EINTR) > + while ((ret = read(stream_fd, buf + len, buf_size)) < 0 && errno == EINTR) Probably never hit this but maybe 'buf_size - len' ? Otherwise: Reviewed-by: Ashutosh Dixit > ; > if (errno == EIO) { > oa_status = get_stream_status(stream_fd); > @@ -1328,9 +1329,10 @@ read_2_oa_reports(int format_id, > continue; > } > > - igt_assert(len > 0); > - igt_debug("read %d bytes\n", (int)len); > + igt_assert(ret > 0); > + igt_debug("read %d bytes\n", (int)ret); > > + len += ret; > /* Need at least 2 reports */ > if (len < 2 * format_size) > continue; > -- > 2.45.2 >