.section	.rodata
.LC32:
	.string	"bdflush"
.text
	.align 16
.globl bdflush
	.type	 bdflush,@function
bdflush:
	pushl %edi
	pushl %esi
	pushl %ebx
	movl $-8192,%ebx
#APP
	andl %esp,%ebx; 
#NO_APP
	movl $1,120(%ebx)
	movl $1,112(%ebx)
	leal 562(%ebx),%edi
	movl $.LC32,%esi
#APP
	1:	lodsb
	stosb
	testb %al,%al
	jne 1b
#NO_APP
	movl %ebx,bdflush_tsk
#APP
	cli
#NO_APP
	pushl %ebx
	call flush_signals
	addl $4,%esp
	movl $-1,1364(%ebx)
	movl $-1,1360(%ebx)
	movl $0,8(%ebx)
#APP
	sti
#NO_APP
	movl 16(%esp),%ecx
#APP
	# atomic up operation
	incl (%ecx)
	jle 2f
1:
.section .text.lock,"ax"
2:	call __up_wakeup
	jmp 1b
.previous
	.p2align 4,,7
#NO_APP
.L3348:
	cmpl $0,emergency_sync_scheduled
	je .L3351
	call do_emergency_sync
.L3351:
	pushl $0
	call flush_dirty_buffers
	movl %eax,%esi
	call free_shortage
	addl $4,%esp
	testl %eax,%eax
	je .L3352
	pushl $0
	pushl $3
	call page_launder
	addl %eax,%esi
	addl $8,%esp
.L3352:
	movl $1,(%ebx)
	xorl %ecx,%ecx
	movl $3,%edx
	movl $bdflush_done,%eax
	call __wake_up
	testl %esi,%esi
	je .L3359
	pushl $0
	call balance_dirty_state
	addl $4,%esp
	testl %eax,%eax
	jge .L3358
	.p2align 4,,7
.L3359:
	cmpl $tq_disk,tq_disk
	je .L3362
	pushl $tq_disk
	call __run_task_queue
	addl $4,%esp
.L3362:
	call schedule
.L3358:
	movl $0,(%ebx)
	jmp .L3348
.Lfe70:
	.size	 bdflush,.Lfe70-bdflush
.section	.rodata
.LC33:
	.string	"kupdate"
.text
	.align 16
.globl kupdate
	.type	 kupdate,@function
kupdate:
	pushl %edi
	pushl %esi
	pushl %ebx
	movl $-8192,%ebx
#APP
	andl %esp,%ebx; 
#NO_APP
	leal 562(%ebx),%edi
	movl $.LC33,%esi
	movl 16(%esp),%ecx
	movl $1,120(%ebx)
	movl $1,112(%ebx)
#APP
	1:	lodsb
	stosb
	testb %al,%al
	jne 1b
	cli
#NO_APP
	movl $-393217,1360(%ebx)
	movl $-1,1364(%ebx)
	testb $6,1378(%ebx)
	setne %al
	movl %eax,%edx
	andl $1,%edx
	movl %edx,8(%ebx)
#APP
	sti
	# atomic up operation
	incl (%ecx)
	jle 2f
1:
.section .text.lock,"ax"
2:	call __up_wakeup
	jmp 1b
.previous
	.p2align 4,,7
#NO_APP
.L3453:
	movl bdf_prm+16,%eax
	testl %eax,%eax
	je .L3458
	movl $1,(%ebx)
	call schedule_timeout
	jmp .L3457
	.p2align 4,,7
.L3458:
	movl $8,(%ebx)
	call schedule
.L3457:
	cmpl $0,8(%ebx)
	je .L3459
	xorl %ecx,%ecx
#APP
	cli
#NO_APP
	testb $4,1378(%ebx)
	je .L3465
#APP
	btrl $18,1376(%ebx)
#NO_APP
	incl %ecx
	.p2align 4,,7
.L3465:
	movl 1364(%ebx),%eax
	notl %eax
	andl 1380(%ebx),%eax
	movl 1360(%ebx),%edx
	notl %edx
	andl 1376(%ebx),%edx
	orl %edx,%eax
	setne %al
	movl %eax,%edx
	andl $1,%edx
	movl %edx,8(%ebx)
#APP
	sti
#NO_APP
	testl %ecx,%ecx
	jne .L3458
	.p2align 4,,7
.L3459:
	call sync_old_buffers
	jmp .L3453
.Lfe71:
	.size	 kupdate,.Lfe71-kupdate
.section	.text.init
	.align 16
	.type	 bdflush_init,@function
bdflush_init:
	subl $40,%esp
	pushl %edi
	pushl %esi
	pushl %ebx
	leal 32(%esp),%ebx
	movl %ebx,%edi
	leal 12(%esp),%esi
	movl $0,12(%esp)
	movl $0,16(%esp)
	movl $0,20(%esp)
	leal 44(%esp),%eax
	movl %eax,24(%esp)
	movl %eax,28(%esp)
	cld
	movl $5,%ecx
	rep
	movsl
	pushl $69120
	pushl %ebx
	pushl $bdflush
	call kernel_thread
	addl $12,%esp
	movl %ebx,%ecx
#APP
	# atomic down operation
	decl (%ecx)
	js 2f
1:
.section .text.lock,"ax"
2:	call __down_failed
	jmp 1b
.previous
#NO_APP
	pushl $69120
	pushl %ebx
	pushl $kupdate
	call kernel_thread
	addl $12,%esp
	movl %ebx,%ecx
#APP
	# atomic down operation
	decl (%ecx)
	js 2f
1:
.section .text.lock,"ax"
2:	call __down_failed
	jmp 1b
.previous
#NO_APP
	xorl %eax,%eax
	popl %ebx
	popl %esi
	popl %edi
	addl $40,%esp
	ret
.Lfe72:
	.size	 bdflush_init,.Lfe72-bdflush_init
.section	.initcall.init,"aw",@progbits
	.align 4
	.type	 __initcall_bdflush_init,@object
	.size	 __initcall_bdflush_init,4
__initcall_bdflush_init:
	.long bdflush_init
	.local	bh_hash_mask
	.comm	bh_hash_mask,4,4
	.local	bh_hash_shift
	.comm	bh_hash_shift,4,4
	.local	hash_table
	.comm	hash_table,4,4
	.local	lru_list
	.comm	lru_list,16,4
	.local	nr_buffers_type
	.comm	nr_buffers_type,16,4
	.local	size_buffers_type
	.comm	size_buffers_type,16,4
	.local	unused_list
	.comm	unused_list,4,4
	.local	nr_unused_buffer_heads
	.comm	nr_unused_buffer_heads,4,4
	.local	free_list
	.comm	free_list,56,32
	.ident	"GCC: (GNU) 2.95.2 20000220 (Debian GNU/Linux)"
