[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y2T5AFZ0IUFf0wsY@liuzhao-OptiPlex-7080>
Date: Fri, 4 Nov 2022 19:35:28 +0800
From: Zhao Liu <zhao1.liu@...ux.intel.com>
To: "Fabio M. De Francesco" <fmdefrancesco@...il.com>,
Ira Weiny <ira.weiny@...el.com>
Cc: intel-gfx@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org,
Zhenyu Wang <zhenyu.z.wang@...el.com>,
Zhao Liu <zhao1.liu@...el.com>,
Dave Hansen <dave.hansen@...el.com>
Subject: Re: [PATCH 1/9] drm/i915: Use kmap_local_page() in
gem/i915_gem_object.c
On Thu, Nov 03, 2022 at 09:51:23AM -0700, Ira Weiny wrote:
> Date: Thu, 3 Nov 2022 09:51:23 -0700
> From: Ira Weiny <ira.weiny@...el.com>
> Subject: Re: [PATCH 1/9] drm/i915: Use kmap_local_page() in
> gem/i915_gem_object.c
>
> On Sat, Oct 29, 2022 at 01:17:03PM +0200, Fabio M. De Francesco wrote:
> > On luned? 17 ottobre 2022 11:37:17 CEST Zhao Liu wrote:
> > > From: Zhao Liu <zhao1.liu@...el.com>
> > >
> > > The use of kmap_atomic() is being deprecated in favor of
> > > kmap_local_page()[1].
> > >
> > > The main difference between atomic and local mappings is that local
> > > mappings doesn't disable page faults or preemption.
> >
> > You are right about about page faults which are never disabled by
> > kmap_local_page(). However kmap_atomic might not disable preemption. It
> > depends on CONFIG_PREEMPT_RT.
> >
> > Please refer to how kmap_atomic_prot() works (this function is called by
> > kmap_atomic() when kernels have HIGHMEM enabled).
> >
> > >
> > > There're 2 reasons why i915_gem_object_read_from_page_kmap() doesn't
> > > need to disable pagefaults and preemption for mapping:
> > >
> > > 1. The flush operation is safe for CPU hotplug when preemption is not
> > > disabled.
> >
> > I'm confused here. Why are you talking about CPU hotplug?
>
> I agree with Fabio here. I'm not making the connection between cpu hotplug and
> this code path.
Sorry, my misunderstanding. Will delete this wrong explanation.
Thanks,
Zhao
Powered by blists - more mailing lists