History log of /dragonfly/sys/dev/drm/include/linux/slab.h (Results 1 – 10 of 10)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0
# e9dbfea1 21-Mar-2021 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Add kmalloc_obj subsystem step 1

* Implement per-zone memory management to kmalloc() in the form of
kmalloc_obj() and friends. Currently the subsystem uses the same
malloc_type struct

kernel - Add kmalloc_obj subsystem step 1

* Implement per-zone memory management to kmalloc() in the form of
kmalloc_obj() and friends. Currently the subsystem uses the same
malloc_type structure but is otherwise distinct from the normal
kmalloc(), so to avoid programming mistakes the *_obj() subsystem
post-pends '_obj' to malloc_type pointers passed into it.

This mechanism will eventually replace objcache. This mechanism is
designed to greatly reduce fragmentation issues on systems with long
uptimes.

Eventually the feature will be better integrated and I will be able
to remove the _obj stuff.

* This is a object allocator, so the zone must be dedicated to one
type of object with a fixed size. All allocations out of the zone
are of the object.

The allocator is not quite type-stable yet, but will be once existential
locks are integrated into the freeing mechanism.

* Implement a mini-slab allocator for management. Since the zones are
single-object, similar to objcache, the fixed-size mini-slabs are a
lot easier to optimize and much simpler in construction than the
main kernel slab allocator.

Uses a per-zone/per-cpu active/alternate slab with an ultra-optimized
allocation path, and a per-zone partial/full/empty list.

Also has a globaldata-based per-cpu cache of free slabs. The mini-slab
allocator frees slabs back to the same cpu they were originally
allocated from in order to retain memory locality over time.

* Implement a passive cleanup poller. This currently polls kmalloc zones
very slowly looking for excess full slabs to release back to the global
slab cache or the system (if the global slab cache is full).

This code will ultimately also handle existential type-stable freeing.

* Fragmentation is greatly reduced due to the distinct zones. Slabs are
dedicated to the zone and do not share allocation space with other zones.
Also, when a zone is destroyed, all of its memory is cleanly disposed
of and there will be no left-over fragmentation.

* Initially use the new interface for the following. These zones
tend to or can become quite big:

vnodes
namecache (but not related strings)
hammer2 chains
hammer2 inodes
tmpfs nodes
tmpfs dirents (but not related strings)

show more ...


Revision tags: v5.8.3, v5.8.2
# a85cb24f 27-Jul-2020 François Tigeot <ftigeot@wolfpond.org>

drm: Update to Linux 4.12.14

* Initial Geminilake support

* Support improvements and model-specific bug fixes for Broxton, Haswell,
Broadwell, Skylake and Kabylake hardware

* Various generic i91

drm: Update to Linux 4.12.14

* Initial Geminilake support

* Support improvements and model-specific bug fixes for Broxton, Haswell,
Broadwell, Skylake and Kabylake hardware

* Various generic i915 bug fixes, including page flipping and memory
corruption issues

* Minor radeon bug fixes

show more ...


# f1cbac97 15-Jun-2020 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Add kmem_cache functions and related constants


Revision tags: v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3
# 1dedbd3b 17-Nov-2019 François Tigeot <ftigeot@wolfpond.org>

drm: Update generic, ttm and radeon code to Linux 4.9

* Generally cleanup non driver-specific code and increase its
robustness

* DisplayPort support improvements

* Atomic modesetting improvement

drm: Update generic, ttm and radeon code to Linux 4.9

* Generally cleanup non driver-specific code and increase its
robustness

* DisplayPort support improvements

* Atomic modesetting improvements

* Radeon performance and stability improvements

* drm/i915 stays based on Linux 4.7.10 with Linux 4.19 changes
for now

Reviewed-by: Romick

show more ...


Revision tags: v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2
# 39cfddd2 27-Nov-2017 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Add or improve various header files


Revision tags: v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0
# c8480522 12-Apr-2016 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Move M_DRM declaration to linux/slab.h


Revision tags: v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc
# e0b9e154 29-Oct-2015 Sascha Wildner <saw@online.de>

kernel/drm: In linux/slab.h, add parentheses around macro parameters.

Such parameters must be in parentheses for numerous good reasons, one
of which is precedence issues like the one we had in intel

kernel/drm: In linux/slab.h, add parentheses around macro parameters.

Such parameters must be in parentheses for numerous good reasons, one
of which is precedence issues like the one we had in intel_sdvo.c
before this commit:

msgs = kcalloc(args_len + 3, sizeof(*msgs), GFP_KERNEL);

show more ...


Revision tags: v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc
# 29f241cf 09-May-2015 François Tigeot <ftigeot@wolfpond.org>

drm: Implement kcalloc()


Revision tags: v4.0.5, v4.0.4
# f43360b9 06-Feb-2015 François Tigeot <ftigeot@wolfpond.org>

drm: Implement kzalloc()


# 158486a6 24-May-2015 François Tigeot <ftigeot@wolfpond.org>

drm: Implement and use the Linux version of kfree()