On Thu, Feb 12, 2015 at 02:24:40PM -0500, Sasha Levin wrote:
> On 02/12/2015 12:07 PM, Sasha Levin wrote:
> > On 02/12/2015 11:18 AM, Kirill A. Shutemov wrote:
> >> > +void __get_page_tail(struct page *page);
> >> > static inline void get_page(struct page *page)
> >> > {
> >> > -struct
On Thu, Feb 12, 2015 at 02:24:40PM -0500, Sasha Levin wrote:
On 02/12/2015 12:07 PM, Sasha Levin wrote:
On 02/12/2015 11:18 AM, Kirill A. Shutemov wrote:
+void __get_page_tail(struct page *page);
static inline void get_page(struct page *page)
{
-struct page *page_head =
On 02/12/2015 12:07 PM, Sasha Levin wrote:
> On 02/12/2015 11:18 AM, Kirill A. Shutemov wrote:
>> > +void __get_page_tail(struct page *page);
>> > static inline void get_page(struct page *page)
>> > {
>> > - struct page *page_head = compound_head(page);
>> > -
On 02/12/2015 11:18 AM, Kirill A. Shutemov wrote:
> +void __get_page_tail(struct page *page);
> static inline void get_page(struct page *page)
> {
> - struct page *page_head = compound_head(page);
> - VM_BUG_ON_PAGE(atomic_read(_head->_count) <= 0, page);
> -
The new split_huge_page() can fail if the compound is pinned: we expect
only caller to have one reference to head page. If the page is pinned
split_huge_page() returns -EBUSY and caller must handle this correctly.
We don't need mark PMDs splitting since now we can split one PMD a time
with
On 02/12/2015 12:07 PM, Sasha Levin wrote:
On 02/12/2015 11:18 AM, Kirill A. Shutemov wrote:
+void __get_page_tail(struct page *page);
static inline void get_page(struct page *page)
{
- struct page *page_head = compound_head(page);
- VM_BUG_ON_PAGE(atomic_read(page_head-_count) = 0,
The new split_huge_page() can fail if the compound is pinned: we expect
only caller to have one reference to head page. If the page is pinned
split_huge_page() returns -EBUSY and caller must handle this correctly.
We don't need mark PMDs splitting since now we can split one PMD a time
with
On 02/12/2015 11:18 AM, Kirill A. Shutemov wrote:
+void __get_page_tail(struct page *page);
static inline void get_page(struct page *page)
{
- struct page *page_head = compound_head(page);
- VM_BUG_ON_PAGE(atomic_read(page_head-_count) = 0, page);
-
8 matches
Mail list logo