#
435c43f5 |
|
02-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Introduced type generic_io_vec, which is similar to iovec, but uses types that are wide enough for both virtual and physical addresses. * DMABuffer, IORequest, IOScheduler,... and code using them: Use generic_io_vec and generic_{addr,size}_t where necessary. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36997 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
03768a40 |
|
31-May-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Introduced IOScheduler::MediaChanged() - this is now called by scsi_cd instead of having the logic be triggered by IOScheduler::SetDeviceCapacity(), as that one might actually be called more often (for each call to update_capacity(), ie. each B_GET_GEOMETRY/B_GET_DEVICE_SIZE will trigger it), and there is no reason to throw away the cache every time (will make a difference during partition/file system detection). * In cd_init_device() just call update_capacity() instead of duplicating its code. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36986 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5060d798 |
|
26-Apr-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
IOCache implements IOScheduler, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36494 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f14480bc |
|
24-Apr-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Essentially rewrote the IOCache to use a VMCache and unmapped pages for caching (similar to the file cache) instead of contiguous areas. This is probably a little bit slower, but integrates better with the VM -- the caching doesn't increase memory pressure and the least recently used pages will automatically be recycled when needed. There are still memory allocation issues on machines with little memory. The USB stack apparently tries to allocate a rather big chunk of contiguous memory, which fails when all not otherwise bound memory is used for caches, since the VM functions for allocating contiguous memory consider only free pages ATM. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36458 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e91e4ee0 |
|
23-Apr-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added IOCache, a simple write-through cache implementation that can be used as a drop-in replacement for IOScheduler, processing IORequests synchronously in FIFO order. It stores cache lines of user-defined size. Currently for each cache line an area of contiguous memory is used, which is not optimal. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36436 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
435c43f5912b109e7d5cf682865d2061e62fad8c |
|
02-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Introduced type generic_io_vec, which is similar to iovec, but uses types that are wide enough for both virtual and physical addresses. * DMABuffer, IORequest, IOScheduler,... and code using them: Use generic_io_vec and generic_{addr,size}_t where necessary. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36997 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
03768a405289a006f256465ea93a87faed5ea339 |
|
31-May-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Introduced IOScheduler::MediaChanged() - this is now called by scsi_cd instead of having the logic be triggered by IOScheduler::SetDeviceCapacity(), as that one might actually be called more often (for each call to update_capacity(), ie. each B_GET_GEOMETRY/B_GET_DEVICE_SIZE will trigger it), and there is no reason to throw away the cache every time (will make a difference during partition/file system detection). * In cd_init_device() just call update_capacity() instead of duplicating its code. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36986 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5060d7980f7ca574e6b23d96e49dd78d9fd74210 |
|
26-Apr-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
IOCache implements IOScheduler, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36494 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f14480bc2c86a3af8f802c7478bc7a54ae445339 |
|
24-Apr-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Essentially rewrote the IOCache to use a VMCache and unmapped pages for caching (similar to the file cache) instead of contiguous areas. This is probably a little bit slower, but integrates better with the VM -- the caching doesn't increase memory pressure and the least recently used pages will automatically be recycled when needed. There are still memory allocation issues on machines with little memory. The USB stack apparently tries to allocate a rather big chunk of contiguous memory, which fails when all not otherwise bound memory is used for caches, since the VM functions for allocating contiguous memory consider only free pages ATM. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36458 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e91e4ee0a6787d04bfac0fef11e5e3cffe9b9f6b |
|
23-Apr-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added IOCache, a simple write-through cache implementation that can be used as a drop-in replacement for IOScheduler, processing IORequests synchronously in FIFO order. It stores cache lines of user-defined size. Currently for each cache line an area of contiguous memory is used, which is not optimal. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36436 a95241bf-73f2-0310-859d-f6bbb57e9c96
|