From patchwork Mon Oct 10 11:11:33 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Campbell X-Patchwork-Id: 118693 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3EC66B70BE for ; Mon, 10 Oct 2011 22:11:51 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753678Ab1JJLLp (ORCPT ); Mon, 10 Oct 2011 07:11:45 -0400 Received: from smtp02.citrix.com ([66.165.176.63]:44685 "EHLO SMTP02.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753546Ab1JJLLo (ORCPT ); Mon, 10 Oct 2011 07:11:44 -0400 X-IronPort-AV: E=Sophos;i="4.68,516,1312171200"; d="scan'208";a="166267845" Received: from ftlpmailmx01.citrite.net ([10.13.107.65]) by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5; 10 Oct 2011 07:11:43 -0400 Received: from smtp01.ad.xensource.com (10.219.128.104) by smtprelay.citrix.com (10.13.107.65) with Microsoft SMTP Server id 8.3.137.0; Mon, 10 Oct 2011 07:11:43 -0400 Received: from cosworth.uk.xensource.com (cosworth.uk.xensource.com [10.80.16.52]) by smtp01.ad.xensource.com (8.13.1/8.13.1) with ESMTP id p9ABBfYn013103; Mon, 10 Oct 2011 04:11:42 -0700 From: Ian Campbell To: netdev@vger.kernel.org CC: Ian Campbell , linux-mm@kvack.org Subject: [PATCH 1/9] mm: add a "struct subpage" type containing a page, offset and length Date: Mon, 10 Oct 2011 12:11:33 +0100 Message-ID: <1318245101-16890-1-git-send-email-ian.campbell@citrix.com> X-Mailer: git-send-email 1.7.2.5 In-Reply-To: <1318245076.21903.408.camel@zakaz.uk.xensource.com> References: <1318245076.21903.408.camel@zakaz.uk.xensource.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org A few network drivers currently use skb_frag_struct for this purpose but I have patches which add additional fields and semantics there which these other uses do not want. A structure for reference sub-page regions seems like a generally useful thing so do so instead of adding a network subsystem specific structure. Signed-off-by: Ian Campbell Cc: linux-mm@kvack.org --- include/linux/mm_types.h | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 774b895..dc1d103 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -135,6 +135,17 @@ struct page { #endif ; +struct subpage { + struct page *page; +#if (BITS_PER_LONG > 32) || (PAGE_SIZE >= 65536) + __u32 page_offset; + __u32 size; +#else + __u16 page_offset; + __u16 size; +#endif +}; + typedef unsigned long __nocast vm_flags_t; /*