search for: ref_cnt

Displaying 11 results from an estimated 11 matches for "ref_cnt".

2008 May 20
4
[PATCH O/4] BIO tracking take2
Hi all, With this series of patches, you can determine the owners of any type of I/Os. I ported the previous version to linux-2.6.26-rc2-mm1. This makes dm-ioband -- I/O bandwidth controller -- be able to control the Block I/O bandwidths even when it accepts delayed write requests. Dm-ioband can find the owner cgroup of each request. It is also possible that OpenVz team and NEC Uchida-san team
2008 May 20
4
[PATCH O/4] BIO tracking take2
Hi all, With this series of patches, you can determine the owners of any type of I/Os. I ported the previous version to linux-2.6.26-rc2-mm1. This makes dm-ioband -- I/O bandwidth controller -- be able to control the Block I/O bandwidths even when it accepts delayed write requests. Dm-ioband can find the owner cgroup of each request. It is also possible that OpenVz team and NEC Uchida-san team
2008 Dec 20
1
Some ideas on how to mix userspace fifo's with a kernel memory manager
...essential things i will mention later. Userspace does ioctl with all the bo's it'll need for the fifo. Kernel pins all these bo's, creates several dma objects that covers only a single bo (as a form of memory protection). Kernel sends back a list of these object handles + a list of ref_cnt values that have to inserted after the bo usage is done. Userspace fills in the remaining values and fires the fifo. Later, under memory pressure for example, the memory manager checks which bo's can be unpinned. So you'll still need an ioctl, but you do avoid a copy into kernel space...
2015 Mar 11
0
[PATCH] pmu/gk20a: PMU boot support.
...(id > pmu->mutex_cnt); > + > + mutex = &pmu->mutex[id]; > + > + owner = nv_rd32(ppmu, 0x0010a580 + (mutex->index * 4)) & 0xff; > + > + if (*token != PMU_INVALID_MUTEX_OWNER_ID && *token == owner) { > + BUG_ON(mutex->ref_cnt == 0); > + nv_debug(ppmu, "already acquired by owner : 0x%08x", *token); > + mutex->ref_cnt++; > + return 0; > + } > + > + max_retry = 40; > + do { > + data = nv_rd32(ppmu, 0x0010a488) &am...
2015 Mar 11
3
[PATCH] pmu/gk20a: PMU boot support.
...+ + BUG_ON(!token); + BUG_ON(!PMU_MUTEX_ID_IS_VALID(id)); + BUG_ON(id > pmu->mutex_cnt); + + mutex = &pmu->mutex[id]; + + owner = nv_rd32(ppmu, 0x0010a580 + (mutex->index * 4)) & 0xff; + + if (*token != PMU_INVALID_MUTEX_OWNER_ID && *token == owner) { + BUG_ON(mutex->ref_cnt == 0); + nv_debug(ppmu, "already acquired by owner : 0x%08x", *token); + mutex->ref_cnt++; + return 0; + } + + max_retry = 40; + do { + data = nv_rd32(ppmu, 0x0010a488) & 0xff; + if (data == 0x00000000 || + data == 0x000000ff) { + nv_warn(ppmu, + "fail to genera...
2015 Mar 12
2
[PATCH] pmu/gk20a: PMU boot support.
...(id > pmu->mutex_cnt); > + > + mutex = &pmu->mutex[id]; > + > + owner = nv_rd32(ppmu, 0x0010a580 + (mutex->index * 4)) & 0xff; > + > + if (*token != PMU_INVALID_MUTEX_OWNER_ID && *token == owner) { > + BUG_ON(mutex->ref_cnt == 0); > + nv_debug(ppmu, "already acquired by owner : 0x%08x", *token); > + mutex->ref_cnt++; > + return 0; > + } > + > + max_retry = 40; > + do { > + data = nv_rd32(ppmu, 0x0010a488) &am...
2011 Jun 29
38
[PATCH 00/40] Staging: hv: Driver cleanup
Further cleanup of the hv drivers: 1) Cleanup the reference counting mess for both stor and net devices. 2) Handle all block devices using the storvsc driver. 3) Accomodate some host side scsi emulation bugs. 4) In case of scsi errors off-line the device. Regads, K. Y
2011 Jun 29
38
[PATCH 00/40] Staging: hv: Driver cleanup
Further cleanup of the hv drivers: 1) Cleanup the reference counting mess for both stor and net devices. 2) Handle all block devices using the storvsc driver. 3) Accomodate some host side scsi emulation bugs. 4) In case of scsi errors off-line the device. Regads, K. Y
2010 Feb 26
5
[PATCH 0/5] renouveau: nv30/nv40 unification
This patchset applies some minor fixes to renouveau.xml and then unifies the nv30 and nv40 register definitions. nv30 and nv40 are very similar and have the same offsets for the registers they share. The major differences are: 1. Texture setup is different due to full NPOT support on nv40 2. More advanced blending/render targets on nv40 3. NV30 has fixed function registers, which NV40 lacks The
2012 Apr 20
1
[PATCH] multiqueue: a hodge podge of things
...hannel, stat); } /* * BSG support */ /** * fc_destroy_bsgjob - routine to teardown/delete a fc bsg job * @job: fc_bsg_job that is to be torn down */ static void fc_destroy_bsgjob(struct fc_bsg_job *job) { unsigned long flags; spin_lock_irqsave(&job->job_lock, flags); if (job->ref_cnt) { spin_unlock_irqrestore(&job->job_lock, flags); return; } spin_unlock_irqrestore(&job->job_lock, flags); put_device(job->dev); /* release reference for the request */ kfree(job->request_payload.sg_list); kfree(job->reply_payload.sg_list); kfree(job); } /** * f...
2012 Apr 20
1
[PATCH] multiqueue: a hodge podge of things
...hannel, stat); } /* * BSG support */ /** * fc_destroy_bsgjob - routine to teardown/delete a fc bsg job * @job: fc_bsg_job that is to be torn down */ static void fc_destroy_bsgjob(struct fc_bsg_job *job) { unsigned long flags; spin_lock_irqsave(&job->job_lock, flags); if (job->ref_cnt) { spin_unlock_irqrestore(&job->job_lock, flags); return; } spin_unlock_irqrestore(&job->job_lock, flags); put_device(job->dev); /* release reference for the request */ kfree(job->request_payload.sg_list); kfree(job->reply_payload.sg_list); kfree(job); } /** * f...