mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-17 10:12:28 -04:00
| Filename | Latest commit message | Latest commit date |
|---|---|---|
configurable replacement for slab allocator
This adds a CONFIG_SLAB option under CONFIG_EMBEDDED. When CONFIG_SLAB is
disabled, the kernel falls back to using the 'SLOB' allocator.
SLOB is a traditional K&R/UNIX allocator with a SLAB emulation layer,
similar to the original Linux kmalloc allocator that SLAB replaced. It's
signicantly smaller code and is more memory efficient. But like all
similar allocators, it scales poorly and suffers from fragmentation more
than SLAB, so it's only appropriate for small systems.
It's been tested extensively in the Linux-tiny tree. I've also
stress-tested it with make -j 8 compiles on a 3G SMP+PREEMPT box (not
recommended).
Here's a comparison for otherwise identical builds, showing SLOB saving
nearly half a megabyte of RAM:
$ size vmlinux*
text data bss dec hex filename
3336372 529360 190812 4056544 3de5e0 vmlinux-slab
3323208 527948 190684 4041840 3dac70 vmlinux-slob
$ size mm/{slab,slob}.o
text data bss dec hex filename
13221 752 48 14021 36c5 mm/slab.o
1896 52 8 1956 7a4 mm/slob.o
/proc/meminfo:
SLAB SLOB delta
MemTotal: 27964 kB 27980 kB +16 kB
MemFree: 24596 kB 25092 kB +496 kB
Buffers: 36 kB 36 kB 0 kB
Cached: 1188 kB 1188 kB 0 kB
SwapCached: 0 kB 0 kB 0 kB
Active: 608 kB 600 kB -8 kB
Inactive: 808 kB 812 kB +4 kB
HighTotal: 0 kB 0 kB 0 kB
HighFree: 0 kB 0 kB 0 kB
LowTotal: 27964 kB 27980 kB +16 kB
LowFree: 24596 kB 25092 kB +496 kB
SwapTotal: 0 kB 0 kB 0 kB
SwapFree: 0 kB 0 kB 0 kB
Dirty: 4 kB 12 kB +8 kB
Writeback: 0 kB 0 kB 0 kB
Mapped: 560 kB 556 kB -4 kB
Slab: 1756 kB 0 kB -1756 kB
CommitLimit: 13980 kB 13988 kB +8 kB
Committed_AS: 4208 kB 4208 kB 0 kB
PageTables: 28 kB 28 kB 0 kB
VmallocTotal: 1007312 kB 1007312 kB 0 kB
VmallocUsed: 48 kB 48 kB 0 kB
VmallocChunk: 1007264 kB 1007264 kB 0 kB
(this work has been sponsored in part by CELF)
From: Ingo Molnar <mingo@elte.hu>
Fix 32-bitness bugs in mm/slob.c.
Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
||
| .. | ||
| amba | ||
| byteorder | ||
| dvb | ||
| hdlc | ||
| isdn | ||
| lockd | ||
| mmc | ||
| mtd | ||
| netfilter | ||
| netfilter_arp | ||
| netfilter_bridge | ||
| netfilter_ipv4 | ||
| netfilter_ipv6 | ||
| nfsd | ||
| raid | ||
| sunrpc | ||
| tc_act | ||
| tc_ematch | ||
| 8250_pci.h | ||
| a.out.h | ||
| ac97_codec.h | ||
| acct.h | ||
| acpi.h | ||
| adb.h | ||
| adfs_fs.h | ||
| adfs_fs_i.h | ||
| adfs_fs_sb.h | ||
| affs_fs.h | ||
| affs_hardblocks.h | ||
| agp_backend.h | ||
| agpgart.h | ||
| aio.h | ||
| aio_abi.h | ||
| amifd.h | ||
| amifdreg.h | ||
| amigaffs.h | ||
| apm_bios.h | ||
| arcdevice.h | ||
| arcfb.h | ||
| ata.h | ||
| atalk.h | ||
| atm.h | ||
| atm_eni.h | ||
| atm_he.h | ||
| atm_idt77105.h | ||
| atm_nicstar.h | ||
| atm_suni.h | ||
| atm_tcp.h | ||
| atm_zatm.h | ||
| atmapi.h | ||
| atmarp.h | ||
| atmbr2684.h | ||
| atmclip.h | ||
| atmdev.h | ||
| atmioc.h | ||
| atmlec.h | ||
| atmmpc.h | ||
| atmppp.h | ||
| atmsap.h | ||
| atmsvc.h | ||
| attribute_container.h | ||
| audit.h | ||
| auto_fs.h | ||
| auto_fs4.h | ||
| auxvec.h | ||
| awe_voice.h | ||
| ax25.h | ||
| b1lli.h | ||
| b1pcmcia.h | ||
| backing-dev.h | ||
| backlight.h | ||
| baycom.h | ||
| bcd.h | ||
| bfs_fs.h | ||
| binfmts.h | ||
| bio.h | ||
| bit_spinlock.h | ||
| bitmap.h | ||
| bitops.h | ||
| blkdev.h | ||
| blkpg.h | ||
| blockgroup_lock.h | ||
| bootmem.h | ||
| bpqether.h | ||
| buffer_head.h | ||
| cache.h | ||
| capability.h | ||
| capi.h | ||
| cciss_ioctl.h | ||
| cd1400.h | ||
| cdev.h | ||
| cdk.h | ||
| cdrom.h | ||
| chio.h | ||
| circ_buf.h | ||
| clk.h | ||
| cm4000_cs.h | ||
| cn_proc.h | ||
| cobalt-nvram.h | ||
| coda.h | ||
| coda_cache.h | ||
| coda_fs_i.h | ||
| coda_linux.h | ||
| coda_proc.h | ||
| coda_psdev.h | ||
| coff.h | ||
| com20020.h | ||
| compat.h | ||
| compat_ioctl.h | ||
| compiler-gcc.h | ||
| compiler-gcc2.h | ||
| compiler-gcc3.h | ||
| compiler-gcc4.h | ||
| compiler-intel.h | ||
| compiler.h | ||
| completion.h | ||
| comstats.h | ||
| concap.h | ||
| config.h | ||
| configfs.h | ||
| connector.h | ||
| console.h | ||
| console_struct.h | ||
| consolemap.h | ||
| cpu.h | ||
| cpufreq.h | ||
| cpumask.h | ||
| cpuset.h | ||
| cramfs_fs.h | ||
| cramfs_fs_sb.h | ||
| crash_dump.h | ||
| crc-ccitt.h | ||
| crc16.h | ||
| crc32.h | ||
| crc32c.h | ||
| crypto.h | ||
| cryptohash.h | ||
| ctype.h | ||
| cuda.h | ||
| cyclades.h | ||
| cyclomx.h | ||
| cycx_cfm.h | ||
| cycx_drv.h | ||
| cycx_x25.h | ||
| dcache.h | ||
| dccp.h | ||
| dcookies.h | ||
| debugfs.h | ||
| delay.h | ||
| devfs_fs.h | ||
| devfs_fs_kernel.h | ||
| device-mapper.h | ||
| device.h | ||
| devpts_fs.h | ||
| dio.h | ||
| dirent.h | ||
| divert.h | ||
| dm-ioctl.h | ||
| dm9000.h | ||
| dma-mapping.h | ||
| dmapool.h | ||
| dmi.h | ||
| dn.h | ||
| dnotify.h | ||
| dqblk_v1.h | ||
| dqblk_v2.h | ||
| dqblk_xfs.h | ||
| ds1286.h | ||
| ds1742rtc.h | ||
| ds17287rtc.h | ||
| dtlk.h | ||
| edd.h | ||
| efi.h | ||
| efs_dir.h | ||
| efs_fs.h | ||
| efs_fs_i.h | ||
| efs_fs_sb.h | ||
| efs_vh.h | ||
| eisa.h | ||
| elevator.h | ||
| elf-fdpic.h | ||
| elf.h | ||
| elfcore.h | ||
| err.h | ||
| errno.h | ||
| errqueue.h | ||
| etherdevice.h | ||
| ethtool.h | ||
| eventpoll.h | ||
| ext2_fs.h | ||
| ext2_fs_sb.h | ||
| ext3_fs.h | ||
| ext3_fs_i.h | ||
| ext3_fs_sb.h | ||
| ext3_jbd.h | ||
| fadvise.h | ||
| fb.h | ||
| fcdevice.h | ||
| fcntl.h | ||
| fd.h | ||
| fd1772.h | ||
| fddidevice.h | ||
| fdreg.h | ||
| file.h | ||
| filter.h | ||
| firmware.h | ||
| flat.h | ||
| font.h | ||
| fs.h | ||
| fs_enet_pd.h | ||
| fs_struct.h | ||
| fsl_devices.h | ||
| fsnotify.h | ||
| ftape-header-segment.h | ||
| ftape-vendors.h | ||
| ftape.h | ||
| fuse.h | ||
| futex.h | ||
| gameport.h | ||
| gen_stats.h | ||
| genalloc.h | ||
| generic_serial.h | ||
| genetlink.h | ||
| genhd.h | ||
| gfp.h | ||
| hardirq.h | ||
| harrier_defs.h | ||
| hash.h | ||
| hayesesp.h | ||
| hdlc.h | ||
| hdlcdrv.h | ||
| hdpu_features.h | ||
| hdreg.h | ||
| hdsmart.h | ||
| hiddev.h | ||
| highmem.h | ||
| highuid.h | ||
| hil.h | ||
| hil_mlc.h | ||
| hippidevice.h | ||
| hp_sdc.h | ||
| hpet.h | ||
| hpfs_fs.h | ||
| hugetlb.h | ||
| hwmon-sysfs.h | ||
| hwmon-vid.h | ||
| hwmon.h | ||
| hysdn_if.h | ||
| i2c-algo-bit.h | ||
| i2c-algo-ite.h | ||
| i2c-algo-pca.h | ||
| i2c-algo-pcf.h | ||
| i2c-algo-sgi.h | ||
| i2c-algo-sibyte.h | ||
| i2c-dev.h | ||
| i2c-id.h | ||
| i2c-isa.h | ||
| i2c-pxa.h | ||
| i2c.h | ||
| i2o-dev.h | ||
| i2o.h | ||
| i8k.h | ||
| ibmtr.h | ||
| icmp.h | ||
| icmpv6.h | ||
| ide.h | ||
| idr.h | ||
| if.h | ||
| if_arcnet.h | ||
| if_arp.h | ||
| if_bonding.h | ||
| if_bridge.h | ||
| if_cablemodem.h | ||
| if_ec.h | ||
| if_eql.h | ||
| if_ether.h | ||
| if_fc.h | ||
| if_fddi.h | ||
| if_frad.h | ||
| if_hippi.h | ||
| if_infiniband.h | ||
| if_ltalk.h | ||
| if_packet.h | ||
| if_plip.h | ||
| if_ppp.h | ||
| if_pppox.h | ||
| if_shaper.h | ||
| if_slip.h | ||
| if_strip.h | ||
| if_tr.h | ||
| if_tun.h | ||
| if_tunnel.h | ||
| if_vlan.h | ||
| if_wanpipe.h | ||
| if_wanpipe_common.h | ||
| igmp.h | ||
| in.h | ||
| in6.h | ||
| in_route.h | ||
| inet.h | ||
| inet_diag.h | ||
| inetdevice.h | ||
| init.h | ||
| init_task.h | ||
| initrd.h | ||
| inotify.h | ||
| input.h | ||
| interrupt.h | ||
| ioc4.h | ||
| ioctl.h | ||
| ioctl32.h | ||
| ioport.h | ||
| ioprio.h | ||
| ip.h | ||
| ip6_tunnel.h | ||
| ip_mp_alg.h | ||
| ipc.h | ||
| ipmi.h | ||
| ipmi_msgdefs.h | ||
| ipmi_smi.h | ||
| ipsec.h | ||
| ipv6.h | ||
| ipv6_route.h | ||
| ipx.h | ||
| irda.h | ||
| irq.h | ||
| irq_cpustat.h | ||
| isapnp.h | ||
| isdn.h | ||
| isdn_divertif.h | ||
| isdn_ppp.h | ||
| isdnif.h | ||
| isicom.h | ||
| iso_fs.h | ||
| istallion.h | ||
| ite_gpio.h | ||
| ixjuser.h | ||
| jbd.h | ||
| jffs.h | ||
| jffs2.h | ||
| jffs2_fs_i.h | ||
| jffs2_fs_sb.h | ||
| jhash.h | ||
| jiffies.h | ||
| journal-head.h | ||
| joystick.h | ||
| kallsyms.h | ||
| kbd_diacr.h | ||
| kbd_kern.h | ||
| kd.h | ||
| kdev_t.h | ||
| kernel.h | ||
| kernel_stat.h | ||
| kernelcapi.h | ||
| kexec.h | ||
| key-ui.h | ||
| key.h | ||
| keyboard.h | ||
| keyctl.h | ||
| kfifo.h | ||
| klist.h | ||
| kmalloc_sizes.h | ||
| kmod.h | ||
| kobj_map.h | ||
| kobject.h | ||
| kprobes.h | ||
| kref.h | ||
| kthread.h | ||
| lapb.h | ||
| lcd.h | ||
| libata.h | ||
| libps2.h | ||
| limits.h | ||
| linkage.h | ||
| linux_logo.h | ||
| list.h | ||
| llc.h | ||
| loop.h | ||
| lp.h | ||
| major.h | ||
| matroxfb.h | ||
| mbcache.h | ||
| mc6821.h | ||
| mc146818rtc.h | ||
| mca-legacy.h | ||
| mca.h | ||
| memory.h | ||
| memory_hotplug.h | ||
| mempolicy.h | ||
| mempool.h | ||
| meye.h | ||
| mii.h | ||
| minix_fs.h | ||
| miscdevice.h | ||
| mm.h | ||
| mm_inline.h | ||
| mman.h | ||
| mmtimer.h | ||
| mmzone.h | ||
| mod_devicetable.h | ||
| module.h | ||
| moduleloader.h | ||
| moduleparam.h | ||
| mount.h | ||
| mpage.h | ||
| mqueue.h | ||
| mroute.h | ||
| msdos_fs.h | ||
| msg.h | ||
| mtio.h | ||
| mv643xx.h | ||
| n_r3964.h | ||
| namei.h | ||
| namespace.h | ||
| nbd.h | ||
| ncp.h | ||
| ncp_fs.h | ||
| ncp_fs_i.h | ||
| ncp_fs_sb.h | ||
| ncp_mount.h | ||
| ncp_no.h | ||
| net.h | ||
| netdevice.h | ||
| netfilter.h | ||
| netfilter_arp.h | ||
| netfilter_bridge.h | ||
| netfilter_decnet.h | ||
| netfilter_ipv4.h | ||
| netfilter_ipv6.h | ||
| netfilter_logging.h | ||
| netlink.h | ||
| netpoll.h | ||
| netrom.h | ||
| nfs.h | ||
| nfs2.h | ||
| nfs3.h | ||
| nfs4.h | ||
| nfs4_acl.h | ||
| nfs4_mount.h | ||
| nfs_fs.h | ||
| nfs_fs_i.h | ||
| nfs_fs_sb.h | ||
| nfs_idmap.h | ||
| nfs_mount.h | ||
| nfs_page.h | ||
| nfs_xdr.h | ||
| nfsacl.h | ||
| nfsd_idmap.h | ||
| nls.h | ||
| nmi.h | ||
| node.h | ||
| nodemask.h | ||
| notifier.h | ||
| nubus.h | ||
| numa.h | ||
| nvram.h | ||
| openprom_fs.h | ||
| oprofile.h | ||
| page-flags.h | ||
| pagemap.h | ||
| pagevec.h | ||
| param.h | ||
| parport.h | ||
| parport_pc.h | ||
| parser.h | ||
| patchkey.h | ||
| pci-acpi.h | ||
| pci.h | ||
| pci_ids.h | ||
| pci_regs.h | ||
| pcieport_if.h | ||
| percpu.h | ||
| percpu_counter.h | ||
| personality.h | ||
| pfkeyv2.h | ||
| pg.h | ||
| phonedev.h | ||
| phy.h | ||
| pid.h | ||
| pipe_fs_i.h | ||
| pkt_cls.h | ||
| pkt_sched.h | ||
| pktcdvd.h | ||
| platform.h | ||
| platform_device.h | ||
| pm.h | ||
| pm_legacy.h | ||
| pmu.h | ||
| pnp.h | ||
| pnpbios.h | ||
| poll.h | ||
| posix-timers.h | ||
| posix_acl.h | ||
| posix_acl_xattr.h | ||
| posix_types.h | ||
| ppdev.h | ||
| ppp-comp.h | ||
| ppp_channel.h | ||
| ppp_defs.h | ||
| prctl.h | ||
| preempt.h | ||
| prefetch.h | ||
| prio_tree.h | ||
| proc_fs.h | ||
| profile.h | ||
| ps2esdi.h | ||
| ptrace.h | ||
| qic117.h | ||
| qnx4_fs.h | ||
| qnxtypes.h | ||
| quota.h | ||
| quotaio_v1.h | ||
| quotaio_v2.h | ||
| quotaops.h | ||
| radeonfb.h | ||
| radix-tree.h | ||
| raid_class.h | ||
| ramfs.h | ||
| random.h | ||
| raw.h | ||
| rbtree.h | ||
| rcupdate.h | ||
| rcuref.h | ||
| reboot.h | ||
| reboot_fixups.h | ||
| reiserfs_acl.h | ||
| reiserfs_fs.h | ||
| reiserfs_fs_i.h | ||
| reiserfs_fs_sb.h | ||
| reiserfs_xattr.h | ||
| relayfs_fs.h | ||
| resource.h | ||
| rio.h | ||
| rio_drv.h | ||
| rio_ids.h | ||
| rio_regs.h | ||
| rmap.h | ||
| romfs_fs.h | ||
| root_dev.h | ||
| rose.h | ||
| route.h | ||
| rslib.h | ||
| rtc.h | ||
| rtnetlink.h | ||
| rwsem-spinlock.h | ||
| rwsem.h | ||
| sc26198.h | ||
| scatterlist.h | ||
| scc.h | ||
| sched.h | ||
| sctp.h | ||
| scx200.h | ||
| scx200_gpio.h | ||
| sdla.h | ||
| sdla_asy.h | ||
| sdla_chdlc.h | ||
| sdla_fr.h | ||
| sdla_ppp.h | ||
| sdla_x25.h | ||
| sdladrv.h | ||
| sdlapci.h | ||
| sdlasfm.h | ||
| seccomp.h | ||
| securebits.h | ||
| security.h | ||
| selection.h | ||
| selinux_netlink.h | ||
| sem.h | ||
| seq_file.h | ||
| seqlock.h | ||
| serial.h | ||
| serial167.h | ||
| serial_8250.h | ||
| serial_core.h | ||
| serial_ip3106.h | ||
| serial_reg.h | ||
| serialP.h | ||
| serio.h | ||
| shm.h | ||
| shmem_fs.h | ||
| signal.h | ||
| skbuff.h | ||
| slab.h | ||
| smb.h | ||
| smb_fs.h | ||
| smb_fs_i.h | ||
| smb_fs_sb.h | ||
| smb_mount.h | ||
| smbno.h | ||
| smp.h | ||
| smp_lock.h | ||
| snmp.h | ||
| socket.h | ||
| sockios.h | ||
| som.h | ||
| sonet.h | ||
| sonypi.h | ||
| sort.h | ||
| sound.h | ||
| soundcard.h | ||
| spinlock.h | ||
| spinlock_api_smp.h | ||
| spinlock_api_up.h | ||
| spinlock_types.h | ||
| spinlock_types_up.h | ||
| spinlock_up.h | ||
| stallion.h | ||
| stat.h | ||
| statfs.h | ||
| stddef.h | ||
| stop_machine.h | ||
| string.h | ||
| stringify.h | ||
| superhyway.h | ||
| suspend.h | ||
| swap.h | ||
| swapops.h | ||
| synclink.h | ||
| sys.h | ||
| syscalls.h | ||
| sysctl.h | ||
| sysdev.h | ||
| sysfs.h | ||
| sysrq.h | ||
| sysv_fs.h | ||
| tcp.h | ||
| telephony.h | ||
| termios.h | ||
| textsearch.h | ||
| textsearch_fsm.h | ||
| tfrc.h | ||
| thread_info.h | ||
| threads.h | ||
| ticable.h | ||
| time.h | ||
| timer.h | ||
| times.h | ||
| timex.h | ||
| tiocl.h | ||
| topology.h | ||
| toshiba.h | ||
| transport_class.h | ||
| trdevice.h | ||
| tty.h | ||
| tty_driver.h | ||
| tty_flip.h | ||
| tty_ldisc.h | ||
| types.h | ||
| udf_fs.h | ||
| udf_fs_i.h | ||
| udf_fs_sb.h | ||
| udp.h | ||
| ufs_fs.h | ||
| ufs_fs_i.h | ||
| ufs_fs_sb.h | ||
| uinput.h | ||
| uio.h | ||
| ultrasound.h | ||
| umem.h | ||
| un.h | ||
| unistd.h | ||
| usb.h | ||
| usb_cdc.h | ||
| usb_ch9.h | ||
| usb_gadget.h | ||
| usb_gadgetfs.h | ||
| usb_input.h | ||
| usb_isp116x.h | ||
| usb_otg.h | ||
| usb_sl811.h | ||
| usb_usual.h | ||
| usbdevice_fs.h | ||
| user.h | ||
| utime.h | ||
| uts.h | ||
| utsname.h | ||
| vermagic.h | ||
| vfs.h | ||
| via.h | ||
| video_decoder.h | ||
| video_encoder.h | ||
| videodev.h | ||
| videodev2.h | ||
| videotext.h | ||
| vmalloc.h | ||
| vt.h | ||
| vt_buffer.h | ||
| vt_kern.h | ||
| wait.h | ||
| wanpipe.h | ||
| wanrouter.h | ||
| watchdog.h | ||
| wavefront.h | ||
| wireless.h | ||
| workqueue.h | ||
| writeback.h | ||
| x25.h | ||
| x1205.h | ||
| xattr.h | ||
| xfrm.h | ||
| yam.h | ||
| zconf.h | ||
| zftape.h | ||
| zlib.h | ||
| zorro.h | ||
| zorro_ids.h | ||
| zutil.h | ||