linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH 01/01] io_uring: Add register support to other PAGE_SIZE
       [not found] <20210818055613.1655-1-wangyangbo@uniontech.com>
@ 2021-08-18 13:30 ` Jens Axboe
  2021-08-19  5:56   ` [PATCH 1/1] " wangyangbo
  0 siblings, 1 reply; 3+ messages in thread
From: Jens Axboe @ 2021-08-18 13:30 UTC (permalink / raw)
  To: wangyangbo; +Cc: asml.silence, io-uring, linux-kernel

On 8/17/21 11:56 PM, wangyangbo wrote:
> Define rsrc table shift from PAGE_SHIFT

This really needs a lot better explanation. A good commit message
explains "why" a change is done, this one doesn't have anything really.
It briefly tells you "what" is being done, but no reasoning for why.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/1] io_uring: Add register support to other PAGE_SIZE
  2021-08-18 13:30 ` [PATCH 01/01] io_uring: Add register support to other PAGE_SIZE Jens Axboe
@ 2021-08-19  5:56   ` wangyangbo
  2021-08-19 15:54     ` Jens Axboe
  0 siblings, 1 reply; 3+ messages in thread
From: wangyangbo @ 2021-08-19  5:56 UTC (permalink / raw)
  To: axboe; +Cc: asml.silence, io-uring, linux-kernel, xiehuanjun, wangyangbo

Now allocated rsrc table uses PAGE_SIZE as the size of 2nd-level, and
accessing this table relies on each level index from fixed TABLE_SHIFT
(12 - 3) in 4k page case. In order to correctly work in non-4k page,
define TABLE_SHIFT as non-fixed (PAGE_SHIFT - shift of data) for
2nd-level table entry number.

Signed-off-by: wangyangbo <wangyangbo@uniontech.com>
---
pleasure to receive comments

 fs/io_uring.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index 4d5c970eacdb..605b008ba29b 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -92,12 +92,12 @@
 #define IORING_MAX_CQ_ENTRIES	(2 * IORING_MAX_ENTRIES)
 #define IORING_SQPOLL_CAP_ENTRIES_VALUE 8
 
-/* 512 entries per page on 64-bit archs, 64 pages max */
+/* only define max */
 #define IORING_MAX_FIXED_FILES	(1U << 15)
 #define IORING_MAX_RESTRICTIONS	(IORING_RESTRICTION_LAST + \
 				 IORING_REGISTER_LAST + IORING_OP_LAST)
 
-#define IO_RSRC_TAG_TABLE_SHIFT	9
+#define IO_RSRC_TAG_TABLE_SHIFT	(PAGE_SHIFT - 3)
 #define IO_RSRC_TAG_TABLE_MAX	(1U << IO_RSRC_TAG_TABLE_SHIFT)
 #define IO_RSRC_TAG_TABLE_MASK	(IO_RSRC_TAG_TABLE_MAX - 1)
 
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] io_uring: Add register support to other PAGE_SIZE
  2021-08-19  5:56   ` [PATCH 1/1] " wangyangbo
@ 2021-08-19 15:54     ` Jens Axboe
  0 siblings, 0 replies; 3+ messages in thread
From: Jens Axboe @ 2021-08-19 15:54 UTC (permalink / raw)
  To: wangyangbo; +Cc: asml.silence, io-uring, linux-kernel, xiehuanjun

On 8/18/21 11:56 PM, wangyangbo wrote:
> Now allocated rsrc table uses PAGE_SIZE as the size of 2nd-level, and
> accessing this table relies on each level index from fixed TABLE_SHIFT
> (12 - 3) in 4k page case. In order to correctly work in non-4k page,
> define TABLE_SHIFT as non-fixed (PAGE_SHIFT - shift of data) for
> 2nd-level table entry number.

That's a lot better! Thanks, applied for 5.15.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-08-19 15:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20210818055613.1655-1-wangyangbo@uniontech.com>
2021-08-18 13:30 ` [PATCH 01/01] io_uring: Add register support to other PAGE_SIZE Jens Axboe
2021-08-19  5:56   ` [PATCH 1/1] " wangyangbo
2021-08-19 15:54     ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).