cregit-Linux how code gets into the kernel

Release 4.14 arch/powerpc/platforms/cell/spufs/lscsa_alloc.c

/*
 * SPU local store allocation routines
 *
 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */


#undef DEBUG

#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>

#include <asm/spu.h>
#include <asm/spu_csa.h>
#include <asm/mmu.h>

#include "spufs.h"


int spu_alloc_lscsa(struct spu_state *csa) { struct spu_lscsa *lscsa; unsigned char *p; lscsa = vzalloc(sizeof(struct spu_lscsa)); if (!lscsa) return -ENOMEM; csa->lscsa = lscsa; /* Set LS pages reserved to allow for user-space mapping. */ for (p = lscsa->ls; p < lscsa->ls + LS_SIZE; p += PAGE_SIZE) SetPageReserved(vmalloc_to_page(p)); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Benjamin Herrenschmidt7697.44%133.33%
Jesper Juhl11.28%133.33%
Michael Ellerman11.28%133.33%
Total78100.00%3100.00%


void spu_free_lscsa(struct spu_state *csa) { /* Clear reserved bit before vfree. */ unsigned char *p; if (csa->lscsa == NULL) return; for (p = csa->lscsa->ls; p < csa->lscsa->ls + LS_SIZE; p += PAGE_SIZE) ClearPageReserved(vmalloc_to_page(p)); vfree(csa->lscsa); }

Contributors

PersonTokensPropCommitsCommitProp
Benjamin Herrenschmidt6398.44%150.00%
Michael Ellerman11.56%150.00%
Total64100.00%2100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Benjamin Herrenschmidt16194.71%120.00%
Jeremy Kerr31.76%120.00%
Tejun Heo31.76%120.00%
Michael Ellerman21.18%120.00%
Jesper Juhl10.59%120.00%
Total170100.00%5100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.