Re: [PATCH 08/19] LoongArch: Add memory management

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, Arnd,

On Tue, Jul 6, 2021 at 6:17 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> On Tue, Jul 6, 2021 at 6:18 AM Huacai Chen <chenhuacai@xxxxxxxxxxx> wrote:
>
> > diff --git a/arch/loongarch/include/asm/kmalloc.h b/arch/loongarch/include/asm/kmalloc.h
> > new file mode 100644
> > index 000000000000..b318c41520d8
> > --- /dev/null
> > +++ b/arch/loongarch/include/asm/kmalloc.h
> > @@ -0,0 +1,10 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > +/*
> > + * Copyright (C) 2020-2021 Loongson Technology Corporation Limited
> > + */
> > +#ifndef __ASM_KMALLOC_H
> > +#define __ASM_KMALLOC_H
> > +
> > +#define ARCH_DMA_MINALIGN L1_CACHE_BYTES
> > +
> > +#endif /* __ASM_KMALLOC_H */
>
> You wrote elsewhere that DMA is cache-coherent, so this should not
> be needed at all.
OK, thanks.

>
> > diff --git a/arch/loongarch/include/asm/shmparam.h b/arch/loongarch/include/asm/shmparam.h
> > new file mode 100644
> > index 000000000000..f726ac537710
> > --- /dev/null
> > +++ b/arch/loongarch/include/asm/shmparam.h
> > @@ -0,0 +1,12 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > +/*
> > + * Copyright (C) 2020-2021 Loongson Technology Corporation Limited
> > + */
> > +#ifndef _ASM_SHMPARAM_H
> > +#define _ASM_SHMPARAM_H
> > +
> > +#define __ARCH_FORCE_SHMLBA    1
> > +
> > +#define        SHMLBA  (4 * PAGE_SIZE)          /* attach addr a multiple of this */
> > +
> > +#endif /* _ASM_SHMPARAM_H */
>
> I think this needs to be defined in a way that is independent of the configured
> page size to minimize the differences between kernel configuration visible to
> user space.
>
> Maybe make it always 64KB?
OK, 64KB is good.

>
> > diff --git a/arch/loongarch/include/asm/sparsemem.h b/arch/loongarch/include/asm/sparsemem.h
> > new file mode 100644
> > index 000000000000..9b57dc69f523
> > --- /dev/null
> > +++ b/arch/loongarch/include/asm/sparsemem.h
> > @@ -0,0 +1,21 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > +#ifndef _LOONGARCH_SPARSEMEM_H
> > +#define _LOONGARCH_SPARSEMEM_H
> > +
> > +#ifdef CONFIG_SPARSEMEM
> > +
> > +/*
> > + * SECTION_SIZE_BITS           2^N: how big each section will be
> > + * MAX_PHYSMEM_BITS            2^N: how much memory we can have in that space
> > + */
> > +#define SECTION_SIZE_BITS      29
> > +#define MAX_PHYSMEM_BITS       48
>
> Maybe add a comment to explain how you got to '29'?
OK, 2^29 = Largest Huge Page Size.

>
> > +
> > +#ifdef CONFIG_PAGE_SIZE_4KB
> > +#define PAGE_SHIFT      12
> > +#endif
> > +#ifdef CONFIG_PAGE_SIZE_16KB
> > +#define PAGE_SHIFT      14
> > +#endif
> > +#ifdef CONFIG_PAGE_SIZE_64KB
> > +#define PAGE_SHIFT      16
> > +#endif
>
> Shouldn't these be defined in some header?
OK, they will be removed.

Huacai
>
>         Arnd



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux