Re: Question about synchronous write on SSD

2008-02-19 Thread Thomas Petazzoni
Hi, Le Tue, 19 Feb 2008 14:48:18 +0900, Kyungmin Park [EMAIL PROTECTED] a écrit : + /* Write synchronous */ + bio-bi_rw |= (1 BIO_RW_SYNC); Adding BIO_RW_SYNC doesn't make generic_make_request() synchronous as in generic_make_request() returns only after write

Re: Question about synchronous write on SSD

2008-02-19 Thread Jens Axboe
On Tue, Feb 19 2008, Kyungmin Park wrote: Agree, however see the following sequence. __generic_make_request call q-make_request_fn(q, bio); It was set by blk_init_queue_node with __make_request. There are two ways in __make_request. Case 1, get_rq Case 2, out or merged

Re: Question about synchronous write on SSD

2008-02-19 Thread Jens Axboe
On Tue, Feb 19 2008, Kyungmin Park wrote: Le Tue, 19 Feb 2008 14:48:18 +0900, Kyungmin Park [EMAIL PROTECTED] a écrit : + /* Write synchronous */ + bio-bi_rw |= (1 BIO_RW_SYNC); Adding BIO_RW_SYNC doesn't make generic_make_request() synchronous as

RE: Question about synchronous write on SSD

2008-02-19 Thread Kyungmin Park
Agree, however see the following sequence. __generic_make_request call q-make_request_fn(q, bio); It was set by blk_init_queue_node with __make_request. There are two ways in __make_request. Case 1, get_rq Case 2, out or merged (otherwise you mean unplug case) In case 1, if the

RE: Question about synchronous write on SSD

2008-02-19 Thread Kyungmin Park
Le Tue, 19 Feb 2008 14:48:18 +0900, Kyungmin Park [EMAIL PROTECTED] a écrit : + /* Write synchronous */ + bio-bi_rw |= (1 BIO_RW_SYNC); Adding BIO_RW_SYNC doesn't make generic_make_request() synchronous as in generic_make_request() returns only after write