mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 08:03:01 +09:00
xen/grants: support allocating consecutive grants
For support of virtio via grant mappings in rare cases larger mappings using consecutive grants are needed. Support those by adding a bitmap of free grants. As consecutive grants will be needed only in very rare cases (e.g. when configuring a virtio device with a multi-page ring), optimize for the normal case of non-consecutive allocations. Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Link: https://lore.kernel.org/r/1654197833-25362-3-git-send-email-olekstysh@gmail.com Signed-off-by: Juergen Gross <jgross@suse.com>
This commit is contained in:
@@ -127,10 +127,14 @@ int gnttab_try_end_foreign_access(grant_ref_t ref);
|
||||
*/
|
||||
int gnttab_alloc_grant_references(u16 count, grant_ref_t *pprivate_head);
|
||||
|
||||
int gnttab_alloc_grant_reference_seq(unsigned int count, grant_ref_t *first);
|
||||
|
||||
void gnttab_free_grant_reference(grant_ref_t ref);
|
||||
|
||||
void gnttab_free_grant_references(grant_ref_t head);
|
||||
|
||||
void gnttab_free_grant_reference_seq(grant_ref_t head, unsigned int count);
|
||||
|
||||
int gnttab_empty_grant_references(const grant_ref_t *pprivate_head);
|
||||
|
||||
int gnttab_claim_grant_reference(grant_ref_t *pprivate_head);
|
||||
|
||||
Reference in New Issue
Block a user