linux_dsm_epyc7002/include/asm-i386
Amit Arora 97ac73506c sys_fallocate() implementation on i386, x86_64 and powerpc
fallocate() is a new system call being proposed here which will allow
applications to preallocate space to any file(s) in a file system.
Each file system implementation that wants to use this feature will need
to support an inode operation called ->fallocate().
Applications can use this feature to avoid fragmentation to certain
level and thus get faster access speed. With preallocation, applications
also get a guarantee of space for particular file(s) - even if later the
the system becomes full.

Currently, glibc provides an interface called posix_fallocate() which
can be used for similar cause. Though this has the advantage of working
on all file systems, but it is quite slow (since it writes zeroes to
each block that has to be preallocated). Without a doubt, file systems
can do this more efficiently within the kernel, by implementing
the proposed fallocate() system call. It is expected that
posix_fallocate() will be modified to call this new system call first
and incase the kernel/filesystem does not implement it, it should fall
back to the current implementation of writing zeroes to the new blocks.
ToDos:
1. Implementation on other architectures (other than i386, x86_64,
   and ppc). Patches for s390(x) and ia64 are already available from
   previous posts, but it was decided that they should be added later
   once fallocate is in the mainline. Hence not including those patches
   in this take.
2. Changes to glibc,
   a) to support fallocate() system call
   b) to make posix_fallocate() and posix_fallocate64() call fallocate()

Signed-off-by: Amit Arora <aarora@in.ibm.com>
2007-07-17 21:42:44 -04:00
..
mach-bigsmp
mach-default
mach-es7000 i386: es7000 build breakage fix 2007-07-06 10:23:43 -07:00
mach-generic
mach-numaq
mach-summit
mach-visws
mach-voyager
8253pit.h
a.out.h
acpi.h
agp.h
alternative-asm.i
alternative.h i386: work around miscompilation of alternatives code 2007-05-11 08:29:32 -07:00
apic.h
apicdef.h
arch_hooks.h
atomic.h i386: fix early usage of atomic_add_return and local_add_return on real i386 2007-05-23 20:14:15 -07:00
auxvec.h
bitops.h Fix misspellings collected by members of KJ list. 2007-05-09 07:14:03 +02:00
boot.h include/asm-i386/boot.h: This is <asm/boot.h>, not <linux/boot.h> 2007-07-12 10:55:54 -07:00
bootparam.h Make struct boot_params a real structure, and remove obsolete fields 2007-07-12 10:55:54 -07:00
bug.h
bugs.h
byteorder.h
cache.h
cacheflush.h
checksum.h
cmpxchg.h x86: create asm/cmpxchg.h 2007-05-08 11:15:20 -07:00
cpu.h
cpufeature.h Use a new CPU feature word to cover features that are spread around 2007-07-12 10:55:54 -07:00
cputime.h
current.h
debugreg.h
delay.h
desc.h
device.h
div64.h
dma-mapping.h x86: Disable DAC on VIA bridges 2007-06-20 14:27:25 -07:00
dma.h
dmi.h
dwarf2.h
e820.h Make definitions for struct e820entry and struct e820map consistent 2007-07-12 10:55:54 -07:00
edac.h
elf.h i386: sched.h inclusion from module.h is baack 2007-05-08 11:15:08 -07:00
emergency-restart.h
errno.h
fb.h fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
fcntl.h
fixmap.h serial: convert early_uart to earlycon for 8250 2007-07-16 09:05:35 -07:00
floppy.h
frame.i
futex.h
genapic.h
hardirq.h
highmem.h
hpet.h
hw_irq.h
hypertransport.h
i387.h
i8253.h
i8259.h
ide.h fix jvc cdrom drive lockup 2007-07-16 09:05:40 -07:00
intel_arch_perfmon.h
io_apic.h
io.h serial: convert early_uart to earlycon for 8250 2007-07-16 09:05:35 -07:00
ioctl.h
ioctls.h tty: i386/x86_64 arbitary speed support 2007-05-08 11:15:03 -07:00
ipc.h
ipcbuf.h
irq_regs.h
irq.h
irqflags.h
ist.h
k8.h
Kbuild
kdebug.h Revert "ipmi: add new IPMI nmi watchdog handling" 2007-05-14 15:24:24 -07:00
kexec.h kdump/kexec: calculate note size at compile time 2007-05-08 11:15:07 -07:00
kmap_types.h
kprobes.h
ldt.h
linkage.h
local.h i386: fix early usage of atomic_add_return and local_add_return on real i386 2007-05-23 20:14:15 -07:00
math_emu.h
mc146818rtc.h
mca_dma.h
mca.h
mce.h
mman.h
mmu_context.h
mmu.h
mmx.h
mmzone.h i386 mmzone: use __maybe_unused 2007-05-09 12:30:57 -07:00
module.h
mpspec_def.h
mpspec.h
msgbuf.h
msidef.h
msr-index.h
msr.h i386: msr.h: be paranoid about types and parentheses 2007-05-09 12:49:33 -07:00
mtrr.h
mutex.h
namei.h
nmi.h
numa.h
numaq.h
page.h Add __GFP_MOVABLE for callers to flag allocations from high memory that may be migrated 2007-07-17 10:22:59 -07:00
param.h
paravirt.h fix nmi_watchdog=2 bootup hang 2007-06-25 14:54:52 -07:00
parport.h
pci-direct.h
pci.h PCI: remove pci_dac_dma_... APIs 2007-07-11 16:02:11 -07:00
percpu.h
pgalloc.h SLUB: i386 support 2007-05-12 11:26:22 -07:00
pgtable-2level-defs.h
pgtable-2level.h page table handling cleanup 2007-07-16 09:05:36 -07:00
pgtable-3level-defs.h
pgtable-3level.h page table handling cleanup 2007-07-16 09:05:36 -07:00
pgtable.h mm: remove ptep_test_and_clear_dirty and ptep_clear_flush_dirty 2007-07-17 10:22:59 -07:00
poll.h Consolidate asm/poll.h 2007-05-11 08:29:34 -07:00
posix_types.h
processor-flags.h
processor.h make seccomp zerocost in schedule 2007-07-16 09:05:50 -07:00
ptrace-abi.h
ptrace.h
reboot_fixups.h
reboot.h
required-features.h Use a new CPU feature word to cover features that are spread around 2007-07-12 10:55:54 -07:00
resource.h
rtc.h
rwlock.h
rwsem.h
scatterlist.h
seccomp.h
sections.h
segment.h
semaphore.h
sembuf.h
serial.h x86, serial: convert legacy COM ports to platform devices 2007-05-08 11:15:23 -07:00
setup.h Make struct boot_params a real structure, and remove obsolete fields 2007-07-12 10:55:54 -07:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smp.h Use the APIC to determine the hardware processor id - i386 2007-05-09 12:30:48 -07:00
socket.h
sockios.h
sparsemem.h
spinlock_types.h
spinlock.h
srat.h
stacktrace.h
stat.h
statfs.h
string.h
suspend.h
sync_bitops.h Fix misspellings collected by members of KJ list. 2007-05-09 07:14:03 +02:00
system.h x86: create asm/cmpxchg.h 2007-05-08 11:15:20 -07:00
termbits.h tty: i386/x86_64 arbitary speed support 2007-05-08 11:15:03 -07:00
termios.h tty: i386/x86_64 arbitary speed support 2007-05-08 11:15:03 -07:00
therm_throt.h
thread_info.h make seccomp zerocost in schedule 2007-07-16 09:05:50 -07:00
time.h
timer.h
timex.h
tlb.h
tlbflush.h Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
topology.h
tsc.h i386: work around miscompilation of alternatives code 2007-05-11 08:29:32 -07:00
types.h
uaccess.h
ucontext.h
unaligned.h
unistd.h sys_fallocate() implementation on i386, x86_64 and powerpc 2007-07-17 21:42:44 -04:00
unwind.h
user.h
vga.h
vic.h
vm86.h
vmi_time.h
vmi.h
voyager.h
xor.h