/kernel/linux/linux-6.6/rust/kernel/init/ |
H A D | macros.rs | 72 //! This macro is used to specify which fields are structurally pinned and which fields are not. It 153 //! // Now we only want to implement `Unpin` for `Bar` when every structurally pinned field is 154 //! // `Unpin`. In other words, whether `Bar` is `Unpin` only depends on structurally pinned 178 //! // access to `&mut self` inside of `drop` even if the struct was pinned. This could lead to 394 //! let pinned = unsafe { ::core::pin::Pin::new_unchecked(self) }; 398 //! ::kernel::init::PinnedDrop::drop(pinned, token); 526 /// This macro first parses the struct definition such that it separates pinned and not pinned 544 // identify fields marked with `#[pin]`, these fields are the 'pinned fields'. The user 545 // wants these to be structurally pinned [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/core/ |
H A D | umem.c | 140 * @access: IB_ACCESS_xxx flags for memory being pinned 153 int pinned, ret; in ib_umem_get() local 213 pinned = pin_user_pages_fast(cur_base, in ib_umem_get() 218 if (pinned < 0) { in ib_umem_get() 219 ret = pinned; in ib_umem_get() 223 cur_base += pinned * PAGE_SIZE; in ib_umem_get() 224 npages -= pinned; in ib_umem_get() 226 &umem->sgt_append, page_list, pinned, 0, in ib_umem_get() 227 pinned << PAGE_SHIFT, ib_dma_max_seg_size(device), in ib_umem_get() 230 unpin_user_pages_dirty_lock(page_list, pinned, in ib_umem_get() [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/gem/ |
H A D | i915_gem_userptr.c | 448 unsigned long pinned; in __i915_gem_userptr_get_pages_worker() local 453 pinned = 0; in __i915_gem_userptr_get_pages_worker() 466 while (pinned < npages) { in __i915_gem_userptr_get_pages_worker() 473 obj->userptr.ptr + pinned * PAGE_SIZE, in __i915_gem_userptr_get_pages_worker() 474 npages - pinned, in __i915_gem_userptr_get_pages_worker() 476 pvec + pinned, NULL, &locked); in __i915_gem_userptr_get_pages_worker() 480 pinned += ret; in __i915_gem_userptr_get_pages_worker() 492 if (pinned == npages) { in __i915_gem_userptr_get_pages_worker() 496 pinned = 0; in __i915_gem_userptr_get_pages_worker() 507 unpin_user_pages(pvec, pinned); in __i915_gem_userptr_get_pages_worker() 563 int pinned; i915_gem_userptr_get_pages() local [all...] |
/kernel/linux/linux-5.10/tools/testing/selftests/bpf/ |
H A D | test_xdp_veth.sh | 103 bpftool map update pinned $BPF_DIR/maps/tx_port key 0 0 0 0 value 122 0 0 0 104 bpftool map update pinned $BPF_DIR/maps/tx_port key 1 0 0 0 value 133 0 0 0 105 bpftool map update pinned $BPF_DIR/maps/tx_port key 2 0 0 0 value 111 0 0 0 106 ip link set dev veth1 xdp pinned $BPF_DIR/progs/redirect_map_0 107 ip link set dev veth2 xdp pinned $BPF_DIR/progs/redirect_map_1 108 ip link set dev veth3 xdp pinned $BPF_DIR/progs/redirect_map_2
|
H A D | test_flow_dissector.sh | 28 if ! unshare --net $bpftool prog attach pinned \ 34 $bpftool prog attach pinned /sys/fs/bpf/flow/flow_dissector \ 37 if unshare --net $bpftool prog attach pinned \ 43 if ! $bpftool prog detach pinned \
|
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/ |
H A D | test_xdp_veth.sh | 106 bpftool map update pinned $BPF_DIR/maps/tx_port key 0 0 0 0 value 122 0 0 0 107 bpftool map update pinned $BPF_DIR/maps/tx_port key 1 0 0 0 value 133 0 0 0 108 bpftool map update pinned $BPF_DIR/maps/tx_port key 2 0 0 0 value 111 0 0 0 109 ip link set dev veth1 xdp pinned $BPF_DIR/progs/xdp_redirect_map_0 110 ip link set dev veth2 xdp pinned $BPF_DIR/progs/xdp_redirect_map_1 111 ip link set dev veth3 xdp pinned $BPF_DIR/progs/xdp_redirect_map_2
|
H A D | test_flow_dissector.sh | 30 if ! unshare --net $bpftool prog attach pinned \ 36 $bpftool prog attach pinned /sys/fs/bpf/flow/_dissect \ 39 if unshare --net $bpftool prog attach pinned \ 45 if ! $bpftool prog detach pinned \
|
/kernel/linux/linux-5.10/include/trace/events/ |
H A D | xen.h | 287 TP_PROTO(struct mm_struct *mm, unsigned long pfn, unsigned level, bool pinned), 288 TP_ARGS(mm, pfn, level, pinned), 293 __field(bool, pinned) 298 __entry->pinned = pinned), 301 __entry->pinned ? "" : "un") 305 TP_PROTO(unsigned long pfn, unsigned level, bool pinned), 306 TP_ARGS(pfn, level, pinned), 310 __field(bool, pinned) 314 __entry->pinned [all...] |
/kernel/linux/linux-6.6/include/trace/events/ |
H A D | xen.h | 287 TP_PROTO(struct mm_struct *mm, unsigned long pfn, unsigned level, bool pinned), 288 TP_ARGS(mm, pfn, level, pinned), 293 __field(bool, pinned) 298 __entry->pinned = pinned), 301 __entry->pinned ? "" : "un") 305 TP_PROTO(unsigned long pfn, unsigned level, bool pinned), 306 TP_ARGS(pfn, level, pinned), 310 __field(bool, pinned) 314 __entry->pinned [all...] |
/kernel/linux/linux-5.10/fs/btrfs/ |
H A D | inode-map.c | 219 struct btrfs_free_space_ctl *pinned = root->free_ino_pinned; in btrfs_return_ino() local 225 __btrfs_add_free_space(fs_info, pinned, objectid, 1, 0); in btrfs_return_ino() 238 __btrfs_add_free_space(fs_info, pinned, objectid, 1, 0); in btrfs_return_ino() 246 * smaller than root->ino_cache_progress from pinned tree to free_ino tree, and 357 * - The pinned tree is only used during the process of caching in pinned_use_bitmap() 372 struct btrfs_free_space_ctl *pinned = root->free_ino_pinned; in btrfs_init_free_ino_ctl() local 389 spin_lock_init(&pinned->tree_lock); in btrfs_init_free_ino_ctl() 390 pinned->unit = 1; in btrfs_init_free_ino_ctl() 391 pinned->start = 0; in btrfs_init_free_ino_ctl() 392 pinned in btrfs_init_free_ino_ctl() [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/hw/hfi1/ |
H A D | pin_system.c | 119 int pinned, cleared; in pin_system_pages() local 138 pinned = hfi1_acquire_user_pages(current->mm, start_address, npages, 0, in pin_system_pages() 141 if (pinned < 0) { in pin_system_pages() 143 SDMA_DBG(req, "pinned %d", pinned); in pin_system_pages() 144 return pinned; in pin_system_pages() 146 if (pinned != npages) { in pin_system_pages() 147 unpin_vector_pages(current->mm, pages, node->npages, pinned); in pin_system_pages() 148 SDMA_DBG(req, "npages %u pinned %d", npages, pinned); in pin_system_pages() [all...] |
H A D | user_exp_rcv.c | 122 * Release pinned receive buffer pages. 161 int pinned; in pin_rcv_pages() local 179 * pages, accept the amount pinned so far and program only that. in pin_rcv_pages() 187 pinned = hfi1_acquire_user_pages(current->mm, vaddr, npages, true, pages); in pin_rcv_pages() 188 if (pinned <= 0) { in pin_rcv_pages() 190 return pinned; in pin_rcv_pages() 193 fd->tid_n_pinned += pinned; in pin_rcv_pages() 194 return pinned; in pin_rcv_pages() 249 int ret = 0, need_group = 0, pinned; in hfi1_user_exp_rcv_setup() local 288 pinned in hfi1_user_exp_rcv_setup() [all...] |
/kernel/linux/linux-5.10/drivers/infiniband/hw/hfi1/ |
H A D | user_exp_rcv.c | 165 * Release pinned receive buffer pages. 204 int pinned; in pin_rcv_pages() local 222 * pages, accept the amount pinned so far and program only that. in pin_rcv_pages() 230 pinned = hfi1_acquire_user_pages(current->mm, vaddr, npages, true, pages); in pin_rcv_pages() 231 if (pinned <= 0) { in pin_rcv_pages() 233 return pinned; in pin_rcv_pages() 236 fd->tid_n_pinned += pinned; in pin_rcv_pages() 237 return pinned; in pin_rcv_pages() 292 int ret = 0, need_group = 0, pinned; in hfi1_user_exp_rcv_setup() local 331 pinned in hfi1_user_exp_rcv_setup() [all...] |
H A D | user_pages.c | 74 unsigned long ulimit = rlimit(RLIMIT_MEMLOCK), pinned, cache_limit, in hfi1_can_pin_pages() local 94 pinned = atomic64_read(&mm->pinned_vm); in hfi1_can_pin_pages() 96 /* First, check the absolute limit against all pinned pages. */ in hfi1_can_pin_pages() 97 if (pinned + npages >= ulimit && !can_lock) in hfi1_can_pin_pages()
|
/kernel/linux/linux-5.10/drivers/fpga/ |
H A D | dfl-afu-dma-region.c | 29 * @region: dma memory region to be pinned 39 int ret, pinned; in afu_dma_pin_pages() local 51 pinned = pin_user_pages_fast(region->user_addr, npages, FOLL_WRITE, in afu_dma_pin_pages() 53 if (pinned < 0) { in afu_dma_pin_pages() 54 ret = pinned; in afu_dma_pin_pages() 56 } else if (pinned != npages) { in afu_dma_pin_pages() 61 dev_dbg(dev, "%d pages pinned\n", pinned); in afu_dma_pin_pages() 66 unpin_user_pages(region->pages, pinned); in afu_dma_pin_pages()
|
/kernel/linux/linux-6.6/drivers/fpga/ |
H A D | dfl-afu-dma-region.c | 29 * @region: dma memory region to be pinned 39 int ret, pinned; in afu_dma_pin_pages() local 51 pinned = pin_user_pages_fast(region->user_addr, npages, FOLL_WRITE, in afu_dma_pin_pages() 53 if (pinned < 0) { in afu_dma_pin_pages() 54 ret = pinned; in afu_dma_pin_pages() 56 } else if (pinned != npages) { in afu_dma_pin_pages() 61 dev_dbg(dev, "%d pages pinned\n", pinned); in afu_dma_pin_pages() 66 unpin_user_pages(region->pages, pinned); in afu_dma_pin_pages()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/gt/ |
H A D | intel_gt_buffer_pool.c | 107 if (node->pinned) { in pool_retire() 112 node->pinned = false; in pool_retire() 129 if (node->pinned) in intel_gt_buffer_pool_mark_used() 133 /* Hide this pinned object from the shrinker until retired */ in intel_gt_buffer_pool_mark_used() 135 node->pinned = true; in intel_gt_buffer_pool_mark_used() 153 node->pinned = false; in node_create()
|
/kernel/linux/linux-6.6/drivers/virt/acrn/ |
H A D | mm.c | 163 int ret, pinned; in acrn_vm_ram_map() local 200 pinned = pin_user_pages_fast(memmap->vma_base, in acrn_vm_ram_map() 203 if (pinned < 0) { in acrn_vm_ram_map() 204 ret = pinned; in acrn_vm_ram_map() 206 } else if (pinned != nr_pages) { in acrn_vm_ram_map() 304 for (i = 0; i < pinned; i++) in acrn_vm_ram_map()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/gem/ |
H A D | i915_gem_userptr.c | 269 int pinned, ret; in i915_gem_object_userptr_submit_init() local 297 pinned = 0; in i915_gem_object_userptr_submit_init() 298 while (pinned < num_pages) { in i915_gem_object_userptr_submit_init() 299 ret = pin_user_pages_fast(obj->userptr.ptr + pinned * PAGE_SIZE, in i915_gem_object_userptr_submit_init() 300 num_pages - pinned, gup_flags, in i915_gem_object_userptr_submit_init() 301 &pvec[pinned]); in i915_gem_object_userptr_submit_init() 305 pinned += ret; in i915_gem_object_userptr_submit_init() 333 unpin_user_pages(pvec, pinned); in i915_gem_object_userptr_submit_init() 479 * restriction is that we do not allow userptr surfaces to be pinned to the
|
/kernel/linux/linux-6.6/arch/powerpc/mm/book3s64/ |
H A D | iommu_api.c | 61 long i, ret, locked_entries = 0, pinned = 0; in mm_iommu_do_alloc() local 110 pinned += n; in mm_iommu_do_alloc() 114 pinned += ret; in mm_iommu_do_alloc() 118 if (pinned != entries) { in mm_iommu_do_alloc() 175 unpin_user_pages(mem->hpages, pinned); in mm_iommu_do_alloc()
|
/kernel/linux/linux-6.6/drivers/s390/cio/ |
H A D | vfio_ccw_cp.c | 25 /* Array that receives the pinned pages. */ 27 /* Number of pages pinned from @pa_iova. */ 45 * @len: number of pages that should be pinned from @iova 88 * Only unpin if any pages were pinned to begin with, i.e. pa_nr > 0, 121 * Returns number of pages pinned upon success. 133 int pinned = 0, npage = 1; in page_array_pin() local 136 while (pinned < pa->pa_nr) { in page_array_pin() 137 dma_addr_t *first = &pa->pa_iova[pinned]; in page_array_pin() 140 if (pinned + npage < pa->pa_nr && in page_array_pin() 149 &pa->pa_page[pinned]); in page_array_pin() [all...] |
/kernel/linux/linux-5.10/drivers/vhost/ |
H A D | vdpa.c | 519 unsigned long pfn, pinned; in vhost_vdpa_iotlb_unmap() local 522 pinned = map->size >> PAGE_SHIFT; in vhost_vdpa_iotlb_unmap() 524 pinned > 0; pfn++, pinned--) { in vhost_vdpa_iotlb_unmap() 626 long pinned; in vhost_vdpa_process_iotlb_update() local 666 pinned = pin_user_pages(cur_base, sz2pin, in vhost_vdpa_process_iotlb_update() 668 if (sz2pin != pinned) { in vhost_vdpa_process_iotlb_update() 669 if (pinned < 0) { in vhost_vdpa_process_iotlb_update() 670 ret = pinned; in vhost_vdpa_process_iotlb_update() 672 unpin_user_pages(page_list, pinned); in vhost_vdpa_process_iotlb_update() [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/qxl/ |
H A D | qxl_object.h | 86 bool kernel, bool pinned, u32 domain, 98 extern void qxl_ttm_placement_from_domain(struct qxl_bo *qbo, u32 domain, bool pinned);
|
/kernel/linux/linux-5.10/drivers/gpu/drm/etnaviv/ |
H A D | etnaviv_gem.c | 621 * Our buffers are kept pinned, so allocating them from the MOVABLE in etnaviv_gem_new_handle() 660 int ret, pinned = 0, npages = etnaviv_obj->base.size >> PAGE_SHIFT; in etnaviv_gem_userptr_get_pages() local 672 unsigned num_pages = npages - pinned; in etnaviv_gem_userptr_get_pages() 673 uint64_t ptr = userptr->ptr + pinned * PAGE_SIZE; in etnaviv_gem_userptr_get_pages() 674 struct page **pages = pvec + pinned; in etnaviv_gem_userptr_get_pages() 679 unpin_user_pages(pvec, pinned); in etnaviv_gem_userptr_get_pages() 684 pinned += ret; in etnaviv_gem_userptr_get_pages() 686 } while (pinned < npages); in etnaviv_gem_userptr_get_pages()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/etnaviv/ |
H A D | etnaviv_gem.c | 606 * Our buffers are kept pinned, so allocating them from the MOVABLE in etnaviv_gem_new_handle() 645 int ret, pinned = 0, npages = etnaviv_obj->base.size >> PAGE_SHIFT; in etnaviv_gem_userptr_get_pages() local 661 unsigned num_pages = npages - pinned; in etnaviv_gem_userptr_get_pages() 662 uint64_t ptr = userptr->ptr + pinned * PAGE_SIZE; in etnaviv_gem_userptr_get_pages() 663 struct page **pages = pvec + pinned; in etnaviv_gem_userptr_get_pages() 667 unpin_user_pages(pvec, pinned); in etnaviv_gem_userptr_get_pages() 672 pinned += ret; in etnaviv_gem_userptr_get_pages() 674 } while (pinned < npages); in etnaviv_gem_userptr_get_pages()
|