[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aAdL7aEcbulV9lsA@smile.fi.intel.com>
Date: Tue, 22 Apr 2025 10:57:33 +0300
From: Andy Shevchenko <andriy.shevchenko@...el.com>
To: Jonathan Corbet <corbet@....net>
Cc: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>,
Mauro Carvalho Chehab <mchehab+huawei@...nel.org>,
Linux Doc Mailing List <linux-doc@...r.kernel.org>,
linux-kernel@...r.kernel.org, David Airlie <airlied@...il.com>,
Jani Nikula <jani.nikula@...ux.intel.com>,
Joonas Lahtinen <joonas.lahtinen@...ux.intel.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Masahiro Yamada <masahiroy@...nel.org>,
Maxime Ripard <mripard@...nel.org>,
Nathan Chancellor <nathan@...nel.org>,
Nicolas Schier <nicolas.schier@...ux.dev>,
Rodrigo Vivi <rodrigo.vivi@...el.com>,
Simona Vetter <simona@...ll.ch>,
Thomas Zimmermann <tzimmermann@...e.de>,
Tvrtko Ursulin <tursulin@...ulin.net>,
dri-devel@...ts.freedesktop.org, intel-gfx@...ts.freedesktop.org,
linux-kbuild@...r.kernel.org
Subject: Re: [PATCH v3 0/2] Don't create Python bytecode when building the
kernel
On Mon, Apr 21, 2025 at 10:35:29AM -0600, Jonathan Corbet wrote:
> Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com> writes:
> > On Wed, Apr 16, 2025 at 03:51:03PM +0800, Mauro Carvalho Chehab wrote:
> >>
> >> As reported by Andy, the Kernel build system runs kernel-doc script for DRM,
> >> when W=1. Due to Python's normal behavior, its JIT compiler will create
> >> a bytecode and store it under scripts/lib/*/__pycache__.
> >>
> >> As one may be using O= and even having the sources on a read-only mount
> >> point, disable its creation during build time.
> >
> > Would it be possible to properly support O= and create pyc / pycache
> > inside the object/output dir?
>
> I have to confess, I've been wondering if we should be treating the .pyc
> files like we treat .o files or other intermediate products. Rather
> than trying to avoid their creation entirely, perhaps we should just be
> sure they end up in the right place and are properly cleaned up...?
>
> To answer Dmitry's question, it seems that setting PYTHONPYCACHEPREFIX
> should do the trick?
It's not so easy. The Python is written in a way that it thinks it will never
runs object files separately from the source. Hence that variable sets only
the folder per script as _home_ for the cache. It's completely unusable. They
took it wrong. It still can be _painfully_ used, but it will make Makefiles
uglier.
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists