cregit-Linux how code gets into the kernel

Release 4.14 arch/cris/include/asm/pgalloc.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _CRIS_PGALLOC_H

#define _CRIS_PGALLOC_H

#include <linux/threads.h>
#include <linux/mm.h>


#define pmd_populate_kernel(mm, pmd, pte) pmd_set(pmd, pte)

#define pmd_populate(mm, pmd, pte) pmd_set(pmd, page_address(pte))

#define pmd_pgtable(pmd) pmd_page(pmd)

/*
 * Allocate and free page tables.
 */


static inline pgd_t *pgd_alloc (struct mm_struct *mm) { return (pgd_t *)get_zeroed_page(GFP_KERNEL); }

Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds1565.22%250.00%
Mikael Starvik730.43%125.00%
Adrian Bunk14.35%125.00%
Total23100.00%4100.00%


static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) { free_page((unsigned long)pgd); }

Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds1872.00%240.00%
Benjamin Herrenschmidt520.00%120.00%
Adrian Bunk14.00%120.00%
Mikael Starvik14.00%120.00%
Total25100.00%5100.00%


static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address) { pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_ZERO); return pte; }

Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds2982.86%233.33%
Mikael Starvik38.57%116.67%
Christoph Lameter12.86%116.67%
Adrian Bunk12.86%116.67%
Andrew Morton12.86%116.67%
Total35100.00%6100.00%


static inline pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long address) { struct page *pte; pte = alloc_pages(GFP_KERNEL|__GFP_ZERO, 0); if (!pte) return NULL; if (!pgtable_page_ctor(pte)) { __free_page(pte); return NULL; } return pte; }

Contributors

PersonTokensPropCommitsCommitProp
Kirill A. Shutemov2134.43%225.00%
Linus Torvalds2032.79%225.00%
Mikael Starvik1219.67%112.50%
Martin Schwidefsky69.84%112.50%
Christoph Lameter11.64%112.50%
Adrian Bunk11.64%112.50%
Total61100.00%8100.00%


static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) { free_page((unsigned long)pte); }

Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds1456.00%125.00%
Mikael Starvik520.00%125.00%
Benjamin Herrenschmidt520.00%125.00%
Adrian Bunk14.00%125.00%
Total25100.00%4100.00%


static inline void pte_free(struct mm_struct *mm, pgtable_t pte) { pgtable_page_dtor(pte); __free_page(pte); }

Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds1040.00%120.00%
Martin Schwidefsky624.00%120.00%
Benjamin Herrenschmidt416.00%120.00%
Mikael Starvik416.00%120.00%
Adrian Bunk14.00%120.00%
Total25100.00%5100.00%

#define __pte_free_tlb(tlb,pte,address) \ do { \ pgtable_page_dtor(pte); \ tlb_remove_page((tlb), pte); \ } while (0) #define check_pgt_cache() do { } while (0) #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds13552.73%323.08%
Mikael Starvik5320.70%17.69%
Kirill A. Shutemov218.20%215.38%
Martin Schwidefsky218.20%17.69%
Benjamin Herrenschmidt166.25%215.38%
Adrian Bunk62.34%17.69%
Christoph Lameter20.78%17.69%
Greg Kroah-Hartman10.39%17.69%
Andrew Morton10.39%17.69%
Total256100.00%13100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.