All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: Arnd Bergmann <arnd@arndb.de>
Cc: afzal mohammed <afzal.mohd.ma@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: ARM: static kernel in vmalloc space
Date: Thu, 14 May 2020 17:25:35 +0100	[thread overview]
Message-ID: <20200514162535.GP1551@shell.armlinux.org.uk> (raw)
In-Reply-To: <CAK8P3a2PNZY-9L9+SFDLtrp731ZGo6Nbs-7jY6E2PwWXa0kfKw@mail.gmail.com>

On Thu, May 14, 2020 at 02:41:11PM +0200, Arnd Bergmann wrote:
> On Thu, May 14, 2020 at 1:18 PM afzal mohammed <afzal.mohd.ma@gmail.com> wrote:
> > On Tue, May 12, 2020 at 09:49:59PM +0200, Arnd Bergmann wrote:
> >
> > > Any idea which bit you want to try next?
> >
> > My plan has been to next post patches for the static kernel migration
> > to vmalloc space (currently the code is rigid, taking easy route
> > wherever possible & not of high quality) as that feature has an
> > independent existence & adds value by itself.  And then start working
> > on other steps towards VMSPLIT_4G_4G.
> >
> > Now that you mentioned about other things, i will slowly start those
> > as well.
> 
> Sounds good.
> 
> > > Creating a raw_copy_{from,to}_user()
> > > based on get_user_pages()/kmap_atomic()/memcpy() is probably a good
> > > next thing to do. I think it can be done one page at a time with only
> > > checking for
> > > get_fs(), access_ok(), and page permissions, while get_user()/put_user()
> > > need to handle a few more corner cases.
> >
> > Before starting w/ other things, i would like to align on the high
> > level design,
> >
> > My understanding (mostly based on your comments) as follows,
> > (i currently do not have a firm grip over these things, hope to have
> > it once started w/ the implementation)
> >
> > 1. SoC w/ LPAE
> > 2. TTBR1 (top 256MB) for static kernel, modules, io mappings, vmalloc,
> >         kmap, fixmap & vectors
> 
> Right, these kind of go together because pre-LPAE cannot do the
> same TTBR1 split, and they more frequently have conflicting
> static mappings.
> 
> It's clearly possible to do something very similar for older chips
> (v6 or v7 without LPAE, possibly even v5), it just gets harder
> while providing less benefit.

Forget about doing this for anything without a PIPT cache - or you're
going to end up having to flush the data cache each time you enter or
exit the kernel.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 10.2Mbps down 587kbps up

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: Arnd Bergmann <arnd@arndb.de>
Cc: afzal mohammed <afzal.mohd.ma@gmail.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: ARM: static kernel in vmalloc space
Date: Thu, 14 May 2020 17:25:35 +0100	[thread overview]
Message-ID: <20200514162535.GP1551@shell.armlinux.org.uk> (raw)
In-Reply-To: <CAK8P3a2PNZY-9L9+SFDLtrp731ZGo6Nbs-7jY6E2PwWXa0kfKw@mail.gmail.com>

On Thu, May 14, 2020 at 02:41:11PM +0200, Arnd Bergmann wrote:
> On Thu, May 14, 2020 at 1:18 PM afzal mohammed <afzal.mohd.ma@gmail.com> wrote:
> > On Tue, May 12, 2020 at 09:49:59PM +0200, Arnd Bergmann wrote:
> >
> > > Any idea which bit you want to try next?
> >
> > My plan has been to next post patches for the static kernel migration
> > to vmalloc space (currently the code is rigid, taking easy route
> > wherever possible & not of high quality) as that feature has an
> > independent existence & adds value by itself.  And then start working
> > on other steps towards VMSPLIT_4G_4G.
> >
> > Now that you mentioned about other things, i will slowly start those
> > as well.
> 
> Sounds good.
> 
> > > Creating a raw_copy_{from,to}_user()
> > > based on get_user_pages()/kmap_atomic()/memcpy() is probably a good
> > > next thing to do. I think it can be done one page at a time with only
> > > checking for
> > > get_fs(), access_ok(), and page permissions, while get_user()/put_user()
> > > need to handle a few more corner cases.
> >
> > Before starting w/ other things, i would like to align on the high
> > level design,
> >
> > My understanding (mostly based on your comments) as follows,
> > (i currently do not have a firm grip over these things, hope to have
> > it once started w/ the implementation)
> >
> > 1. SoC w/ LPAE
> > 2. TTBR1 (top 256MB) for static kernel, modules, io mappings, vmalloc,
> >         kmap, fixmap & vectors
> 
> Right, these kind of go together because pre-LPAE cannot do the
> same TTBR1 split, and they more frequently have conflicting
> static mappings.
> 
> It's clearly possible to do something very similar for older chips
> (v6 or v7 without LPAE, possibly even v5), it just gets harder
> while providing less benefit.

Forget about doing this for anything without a PIPT cache - or you're
going to end up having to flush the data cache each time you enter or
exit the kernel.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 10.2Mbps down 587kbps up

  parent reply	other threads:[~2020-05-14 16:25 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-31  9:32 [PATCH 0/3] Highmem support for 32-bit RISC-V Eric Lin
2020-03-31  9:32 ` Eric Lin
2020-03-31  9:32 ` [PATCH 1/3] riscv/mm: Add pkmap region and CONFIG_HIGHMEM Eric Lin
2020-03-31  9:32   ` Eric Lin
2020-03-31  9:32 ` [PATCH 2/3] riscv/mm: Implement kmap() and kmap_atomic() Eric Lin
2020-03-31  9:32   ` Eric Lin
2020-03-31  9:32 ` [PATCH 3/3] riscv/mm: Add pkmap in print_vm_layout() Eric Lin
2020-03-31  9:32   ` Eric Lin
2020-04-02  9:31 ` [PATCH 0/3] Highmem support for 32-bit RISC-V Arnd Bergmann
2020-04-02  9:31   ` Arnd Bergmann
2020-04-08  3:51   ` Alan Kao
2020-04-08  3:51     ` Alan Kao
2020-04-08 14:40     ` Arnd Bergmann
2020-04-08 14:40       ` Arnd Bergmann
2020-04-14 15:17       ` afzal mohammed
2020-04-14 15:17         ` afzal mohammed
2020-04-14 19:29         ` Arnd Bergmann
2020-04-14 19:29           ` Arnd Bergmann
2020-04-15 13:54           ` afzal mohammed
2020-04-15 13:54             ` afzal mohammed
2020-05-03 14:50             ` afzal mohammed
2020-05-03 14:50               ` afzal mohammed
2020-05-03 20:20               ` Arnd Bergmann
2020-05-03 20:20                 ` Arnd Bergmann
2020-05-04  9:10                 ` afzal mohammed
2020-05-04  9:10                   ` afzal mohammed
2020-05-04  9:10                   ` afzal mohammed
2020-05-04 11:27                   ` Arnd Bergmann
2020-05-04 11:27                     ` Arnd Bergmann
2020-05-04 11:27                     ` Arnd Bergmann
2020-05-11 14:21                     ` ARM: static kernel in vmalloc space (was Re: [PATCH 0/3] Highmem support for 32-bit RISC-V) afzal mohammed
2020-05-11 14:21                       ` afzal mohammed
2020-05-11 15:29                       ` Arnd Bergmann
2020-05-11 15:29                         ` Arnd Bergmann
2020-05-12 10:47                         ` ARM: static kernel in vmalloc space afzal mohammed
2020-05-12 10:47                           ` afzal mohammed
2020-05-12 19:49                           ` Arnd Bergmann
2020-05-12 19:49                             ` Arnd Bergmann
2020-05-14 11:17                             ` afzal mohammed
2020-05-14 11:17                               ` afzal mohammed
2020-05-14 12:41                               ` Arnd Bergmann
2020-05-14 12:41                                 ` Arnd Bergmann
2020-05-14 13:35                                 ` afzal mohammed
2020-05-14 13:35                                   ` afzal mohammed
2020-05-14 14:44                                   ` afzal mohammed
2020-05-14 14:44                                     ` afzal mohammed
2020-05-14 15:32                                   ` Arnd Bergmann
2020-05-14 15:32                                     ` Arnd Bergmann
2020-05-16  6:06                                     ` afzal mohammed
2020-05-16  6:06                                       ` afzal mohammed
2020-05-16  7:35                                       ` Arnd Bergmann
2020-05-16  7:35                                         ` Arnd Bergmann
2020-06-07 12:59                                         ` ARM: vmsplit 4g/4g afzal mohammed
2020-06-07 16:11                                           ` Russell King - ARM Linux admin
2020-06-07 16:11                                             ` Russell King - ARM Linux admin
2020-06-08 11:09                                             ` afzal mohammed
2020-06-08 11:09                                               ` afzal mohammed
2020-06-10 10:10                                               ` Linus Walleij
2020-06-10 10:10                                                 ` Linus Walleij
2020-06-12 10:25                                                 ` afzal mohammed
2020-06-12 10:25                                                   ` afzal mohammed
2020-06-15  9:11                                                   ` Linus Walleij
2020-06-15  9:11                                                     ` Linus Walleij
2020-06-15 10:01                                                     ` afzal mohammed
2020-06-15 10:01                                                       ` afzal mohammed
2020-06-07 19:26                                           ` Arnd Bergmann
2020-06-07 19:26                                             ` Arnd Bergmann
2020-06-08 11:18                                             ` afzal mohammed
2020-06-08 11:18                                               ` afzal mohammed
2020-06-08 14:43                                               ` Arnd Bergmann
2020-06-08 14:43                                                 ` Arnd Bergmann
2020-06-08 15:17                                                 ` afzal mohammed
2020-06-08 15:17                                                   ` afzal mohammed
2020-06-09 12:15                                                   ` afzal mohammed
2020-06-09 12:15                                                     ` afzal mohammed
2020-06-09 14:22                                                     ` Arnd Bergmann
2020-06-09 14:22                                                       ` Arnd Bergmann
2020-05-14 16:25                                 ` Russell King - ARM Linux admin [this message]
2020-05-14 16:25                                   ` ARM: static kernel in vmalloc space Russell King - ARM Linux admin
2020-05-14 21:12                                   ` Arnd Bergmann
2020-05-14 21:12                                     ` Arnd Bergmann
2020-05-14 23:40                                     ` Russell King - ARM Linux admin
2020-05-14 23:40                                       ` Russell King - ARM Linux admin
2020-05-15 15:41                                       ` Arnd Bergmann
2020-05-15 15:41                                         ` Arnd Bergmann
2020-07-30  9:33                                         ` Linus Walleij
2020-07-30  9:33                                           ` Linus Walleij
2020-07-30 10:17                                           ` Arnd Bergmann
2020-07-30 10:17                                             ` Arnd Bergmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200514162535.GP1551@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=afzal.mohd.ma@gmail.com \
    --cc=arnd@arndb.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.