#ifndef SOUND_FIREWIRE_ISO_RESOURCES_H_INCLUDED #define SOUND_FIREWIRE_ISO_RESOURCES_H_INCLUDED #include #include struct fw_unit; /** * struct fw_iso_resources - manages channel/bandwidth allocation * @channels_mask: if the device does not support all channel numbers, set this * bit mask to something else than the default (all ones) * * This structure manages (de)allocation of isochronous resources (channel and * bandwidth) for one isochronous stream. */ struct fw_iso_resources { u64 channels_mask; /* private: */ struct fw_unit *unit; struct mutex mutex; unsigned int channel; unsigned int bandwidth; /* in bandwidth units, without overhead */ unsigned int bandwidth_overhead; int generation; /* in which allocation is valid */ bool allocated; }; int fw_iso_resources_init(struct fw_iso_resources *r, struct fw_unit *unit); void fw_iso_resources_destroy(struct fw_iso_resources *r); int fw_iso_resources_allocate(struct fw_iso_resources *r, unsigned int max_payload_bytes, int speed); int fw_iso_resources_update(struct fw_iso_resources *r); void fw_iso_resources_free(struct fw_iso_resources *r); #endif selected='selected'>nds-private-remove net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2016-08-10 17:22:44 +0200
committerDan Williams <dan.j.williams@intel.com>2016-12-26 20:29:24 -0800
commitc6dcf52c23d2d3fb5235cec42d7dd3f786b87d55 (patch)
tree7e63a6c0225a769e679b194f54b5723e4cfba385 /tools/perf/bench
parente568df6b84ff05a22467503afc11bee7a6ba0700 (diff)
mm: Invalidate DAX radix tree entries only if appropriate
Currently invalidate_inode_pages2_range() and invalidate_mapping_pages() just delete all exceptional radix tree entries they find. For DAX this is not desirable as we track cache dirtiness in these entries and when they are evicted, we may not flush caches although it is necessary. This can for example manifest when we write to the same block both via mmap and via write(2) (to different offsets) and fsync(2) then does not properly flush CPU caches when modification via write(2) was the last one. Create appropriate DAX functions to handle invalidation of DAX entries for invalidate_inode_pages2_range() and invalidate_mapping_pages() and wire them up into the corresponding mm functions. Acked-by: Johannes Weiner <hannes@cmpxchg.org> Reviewed-by: Ross Zwisler <ross.zwisler@linux.intel.com> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'tools/perf/bench')