Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754375AbbDJBAw (ORCPT ); Thu, 9 Apr 2015 21:00:52 -0400 Received: from bhuna.collabora.co.uk ([93.93.135.160]:57275 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751881AbbDJBAt (ORCPT ); Thu, 9 Apr 2015 21:00:49 -0400 Message-ID: <1428627643.3417.22.camel@collabora.com> Subject: libva decoding performance regression with kernel 4.0-rc From: Olivier =?ISO-8859-1?Q?Cr=EAte?= To: Brad Volkin Cc: Daniel Vetter , Jani Nikula , David Airlie , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Date: Thu, 09 Apr 2015 21:00:43 -0400 Organization: Collabora Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.11 (3.12.11-1.fc21) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2620 Lines: 60 Hello, Using an Atom E3845 board, we had a pretty bad performance regression when upgrading to 4.0-rc6 from 3.19. With the help of git bisect, I traced it back to commit 78a42377. Reverting this commit and subsequent related commits (b9ffd80, 71745376, etc) fixes the performance regression for me. Without those patches, I can play 8-9 1080p MPEG2 streams, after them, it's down to 5-6. I tested using a libdrm checkout from Feb 16, and the latest git master of libva, libva-intel-driver and gst-plugins-vaapi. The "identity drop-probability=1" is to prevent anything from being displayed, so it's purely decoding performance. Pure decode, single stream not displayed: time gst-launch-1.0 filesrc location=18Mbps_CBR_MPEG2_Main-High_1920x1080p_16x9_29-97fps.m2t ! tsdemux ! mpegvideoparse ! vaapidecode ! identity drop-probability=1 ! vaapisink With kernel 3.18.0-rc7-01052-g493018d real 0m11.429s user 0m6.516s sys 0m1.640s With kernel 3.18.0-rc7-01053-g78a4237 real 0m12.694s user 0m6.744s sys 0m2.680s 8 simultaneous streams displayed: time gst-launch-1.0 filesrc location=18Mbps_CBR_MPEG2_Main-High_1920x1080p_16x9_29-97fps.m2t ! tsdemux ! mpegvideoparse ! vaapidecode ! vaapisink sync=0 \ filesrc location=18Mbps_CBR_MPEG2_Main-High_1920x1080p_16x9_29-97fps.m2t ! tsdemux ! mpegvideoparse ! vaapidecode ! vaapisink sync=0 \ filesrc location=18Mbps_CBR_MPEG2_Main-High_1920x1080p_16x9_29-97fps.m2t ! tsdemux ! mpegvideoparse ! vaapidecode ! vaapisink sync=0 \ filesrc location=18Mbps_CBR_MPEG2_Main-High_1920x1080p_16x9_29-97fps.m2t ! tsdemux ! mpegvideoparse ! vaapidecode ! vaapisink sync=0 \ filesrc location=18Mbps_CBR_MPEG2_Main-High_1920x1080p_16x9_29-97fps.m2t ! tsdemux ! mpegvideoparse ! vaapidecode ! vaapisink sync=0 \ filesrc location=18Mbps_CBR_MPEG2_Main-High_1920x1080p_16x9_29-97fps.m2t ! tsdemux ! mpegvideoparse ! vaapidecode ! vaapisink sync=0 \ filesrc location=18Mbps_CBR_MPEG2_Main-High_1920x1080p_16x9_29-97fps.m2t ! tsdemux ! mpegvideoparse ! vaapidecode ! vaapisink sync=0 \ filesrc location=18Mbps_CBR_MPEG2_Main-High_1920x1080p_16x9_29-97fps.m2t ! tsdemux ! mpegvideoparse ! vaapidecode ! vaapisink sync=0 With kernel 3.18.0-rc7-01052-g493018d real 2m45.317s user 1m21.296s sys 0m51.080s With kernel 3.18.0-rc7-01053-g78a4237 real 3m1.275s user 1m24.336s sys 1m38.360s -- Olivier CrĂȘte olivier.crete@collabora.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/