On 04/26/2010 11:36 AM, Avi Kivity wrote: > On 04/25/2010 07:05 PM, Nitin Gupta wrote: >> >>>> Increasing the frequency of discards is also not an option: >>>> - Creating discard bio requests themselves need memory and these >>>> swap devices >>>> come into picture only under low memory conditions. >>>> >>>> >>> That's fine, swap works under low memory conditions by using reserves. >>> >>> >> Ok, but still all this bio allocation and block layer overhead seems >> unnecessary and is easily avoidable. I think frontswap code needs >> clean up but at least it avoids all this bio overhead. >> > > Ok. I agree it is silly to go through the block layer and end up > servicing it within the kernel. > >>>> - We need to regularly scan swap_map to issue these discards. >>>> Increasing discard >>>> frequency also means more frequent scanning (which will still not be >>>> fast enough >>>> for ramzswap needs). >>>> >>>> >>> How does frontswap do this? Does it maintain its own data structures? >>> >>> >> frontswap simply calls frontswap_flush_page() in swap_entry_free() >> i.e. as >> soon as a swap slot is freed. No bio allocation etc. >> > > The same code could also issue the discard? > No, we cannot issue discard bio at this place since swap_lock spinlock is held. Thanks, Nitin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>