lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YoQl3yLa4iDCjicO@iweiny-desk3>
Date:   Tue, 17 May 2022 15:46:55 -0700
From:   Ira Weiny <ira.weiny@...el.com>
To:     Christoph Hellwig <hch@...radead.org>
Cc:     Dave Hansen <dave.hansen@...ux.intel.com>,
        "H. Peter Anvin" <hpa@...or.com>,
        Dan Williams <dan.j.williams@...el.com>,
        Fenghua Yu <fenghua.yu@...el.com>,
        Rick Edgecombe <rick.p.edgecombe@...el.com>,
        "Shankar, Ravi V" <ravi.v.shankar@...el.com>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH V10 33/44] kmap: Make kmap work for devmap protected pages

On Wed, May 11, 2022 at 06:25:19PM -0700, Ira wrote:
> On Thu, Apr 28, 2022 at 08:50:34AM -0700, Christoph Hellwig wrote:
> > On Tue, Apr 19, 2022 at 10:06:38AM -0700, ira.weiny@...el.com wrote:
> > > index a77be5630209..32ed07c2994b 100644
> > > --- a/include/linux/highmem-internal.h
> > > +++ b/include/linux/highmem-internal.h
> > > @@ -151,6 +151,8 @@ static inline void totalhigh_pages_add(long count)
> > >  
> > >  #else /* CONFIG_HIGHMEM */
> > >  
> > > +#include <linux/memremap.h>
> > 
> > Uuuh, I'd really prefer to avoid having to pull in memremap.h into
> > basically the whole kernel build.
> > 
> 
> Fair enough.  What should I call a header to store the new pgmap_set_*() calls?
> 
> devmap_prot.h
> 
> ?
> 
> Or I could just add the calls into highmem-internal.h.  That might be more
> appropriate given the new direction of that interface.
> 
> I think I'm leaning toward that vs adding another header.

Ok there is a trade off here which I'm not sure is a good idea.

In order to make kmap faster I carefully placed the devmap_protected() call
completely inline.[1]  This specifically checks the PGMAP_PROTECTION flag in
dev_pagemap.[1]

I see only 2 ways of not including memremap.h in highmem-internal.h.

1) Make this check a function call and place it in memremap.c
2) Move struct dev_pagemap (and it's dependencies) to another header.

Number 2 negates any positive effect of splitting the header file.

Number 1 is going to force some overhead on all ZONE_DEVICE pages if PMEM is in
the system.

Do you think the extra run time overhead is a reasonable trade off to
eliminating the header?

Ira

[1] https://lore.kernel.org/lkml/20220419170649.1022246-29-ira.weiny@intel.com/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ