[Xen-devel] [PATCH] block/xen-blkback: Deinline shrink_free_pagepool, save 204 bytes

2016-03-14 Thread Denys Vlasenko
This function compiles to 201 bytes of machine code. 2 callsites. This function has a spinlocked code section, which is significantly more expensive than call/return overhead. Signed-off-by: Denys Vlasenko CC: Konrad Rzeszutek Wilk CC: Roger Pau Monné CC: xen-de...@lists.xenproject.org CC

[Xen-devel] [PATCH] block/xen-blkback: Deinline put_free_pages, save 645 bytes

2016-03-14 Thread Denys Vlasenko
This function compiles to 170 bytes of machine code. 7 callsites. This function has a spinlocked code section, which is significantly more expensive than call/return overhead. Signed-off-by: Denys Vlasenko CC: Konrad Rzeszutek Wilk CC: Roger Pau Monné CC: xen-de...@lists.xenproject.org CC

Re: [Xen-devel] [PATCH] x86 spinlock: Fix memory corruption on completing completions

2015-02-10 Thread Denys Vlasenko
On Tue, Feb 10, 2015 at 2:18 PM, Denys Vlasenko wrote: > while (1) { > if (READ_ONCE(lock->tickets.head) != TICKET_TAIL(val)) > cpu_relax(); > } Doh should be while (READ_ONCE(lock->tickets.head) != TICKET_TAIL(val)

Re: [Xen-devel] [PATCH] x86 spinlock: Fix memory corruption on completing completions

2015-02-10 Thread Denys Vlasenko
On Tue, Feb 10, 2015 at 10:30 AM, Raghavendra K T wrote: > On 02/10/2015 06:23 AM, Linus Torvalds wrote: >> add_smp(&lock->tickets.head, TICKET_LOCK_INC); >> if (READ_ONCE(lock->tickets.tail) & TICKET_SLOWPATH_FLAG) .. >> >> into something like >> >> val = xadd((&lock->t