cregit-Linux how code gets into the kernel

Release 4.11 fs/xfs/libxfs/xfs_bit.h

Directory: fs/xfs/libxfs
/*
 * Copyright (c) 2000,2002,2005 Silicon Graphics, Inc.
 * All Rights Reserved.
 *
 * 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.
 *
 * This program is distributed in the hope that it would 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 the Free Software Foundation,
 * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
#ifndef __XFS_BIT_H__

#define	__XFS_BIT_H__

/*
 * XFS bit manipulation routines.
 */

/*
 * masks with n high/low bits set, 64-bit values
 */

static inline __uint64_t xfs_mask64hi(int n) { return (__uint64_t)-1 << (64 - (n)); }

Contributors

PersonTokensPropCommitsCommitProp
Nathan Scott1976.00%150.00%
Christoph Hellwig624.00%150.00%
Total25100.00%2100.00%


static inline __uint32_t xfs_mask32lo(int n) { return ((__uint32_t)1 << (n)) - 1; }

Contributors

PersonTokensPropCommitsCommitProp
Nathan Scott1875.00%150.00%
Christoph Hellwig625.00%150.00%
Total24100.00%2100.00%


static inline __uint64_t xfs_mask64lo(int n) { return ((__uint64_t)1 << (n)) - 1; }

Contributors

PersonTokensPropCommitsCommitProp
Nathan Scott2187.50%150.00%
Christoph Hellwig312.50%150.00%
Total24100.00%2100.00%

/* Get high bit set out of 32-bit argument, -1 if none set */
static inline int xfs_highbit32(__uint32_t v) { return fls(v) - 1; }

Contributors

PersonTokensPropCommitsCommitProp
David Chinner1266.67%150.00%
Christoph Hellwig633.33%150.00%
Total18100.00%2100.00%

/* Get high bit set out of 64-bit argument, -1 if none set */
static inline int xfs_highbit64(__uint64_t v) { return fls64(v) - 1; }

Contributors

PersonTokensPropCommitsCommitProp
David Chinner1372.22%150.00%
Christoph Hellwig527.78%150.00%
Total18100.00%2100.00%

/* Get low bit set out of 32-bit argument, -1 if none set */
static inline int xfs_lowbit32(__uint32_t v) { return ffs(v) - 1; }

Contributors

PersonTokensPropCommitsCommitProp
David Chinner1688.89%266.67%
Barry Naujok211.11%133.33%
Total18100.00%3100.00%

/* Get low bit set out of 64-bit argument, -1 if none set */
static inline int xfs_lowbit64(__uint64_t v) { __uint32_t w = (__uint32_t)v; int n = 0; if (w) { /* lower bits */ n = ffs(w); } else { /* upper bits */ w = (__uint32_t)(v >> 32); if (w) { n = ffs(w); if (n) n += 32; } } return n - 1; }

Contributors

PersonTokensPropCommitsCommitProp
David Chinner6887.18%133.33%
Dan Carpenter78.97%133.33%
Christoph Hellwig33.85%133.33%
Total78100.00%3100.00%

/* Return whether bitmap is empty (1 == empty) */ extern int xfs_bitmap_empty(uint *map, uint size); /* Count continuous one bits in map starting with start_bit */ extern int xfs_contig_bits(uint *map, uint size, uint start_bit); /* Find next set bit in map */ extern int xfs_next_bit(uint *map, uint size, uint start_bit); #endif /* __XFS_BIT_H__ */

Overall Contributors

PersonTokensPropCommitsCommitProp
David Chinner11242.11%222.22%
Christoph Hellwig8331.20%111.11%
Nathan Scott5922.18%222.22%
Dan Carpenter72.63%111.11%
Eric Sandeen31.13%222.22%
Barry Naujok20.75%111.11%
Total266100.00%9100.00%
Directory: fs/xfs/libxfs
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.